Registry Provider

提供從Windows PowerShell對系統註冊表項和註冊表值的訪問。

基本介紹

  • 中文名:註冊表提供
  • 外文名:Registry Provider
  • 驅動器:HKLM:, HKCU:
  • 功能:ShouldProcess
簡短說明,驅動器,詳細說明,功能,示例,動態參數,

簡短說明

提供從 Windows PowerShell 對系統註冊表項和註冊表值的訪問。

驅動器

HKLM:, HKCU:

詳細說明

使用 Windows PowerShell Registry 提供程式,您可以獲取、添加、更改、清除和刪除 Windows PowerShell 中的註冊表項和註冊表值。
註冊表項表示為 Microsoft.Win32.RegistryKey 類的實例。註冊表值表示為 PSCustomObject 類的實例。
使用 Registry 提供程式,您可以訪問由註冊表項和子項組成的分層命名空間。註冊表值和數據不是該層次結構中的組件。實際上,它們是每個註冊表項的屬性。
Registry 提供程式支持包含 Item 名詞的所有 cmdlet (Item cmdlet),例如 Get-Item、Copy-Item 和 Rename Item。在處理註冊表項和子項時使用 Item cmdlet。Registry 提供程式還支持包含 ItemProperty 名詞的 cmdlet (ItemProperty cmdlet)。在處理註冊表值和數據時使用 ItemProperty cmdlet。不能將包含 Content 名詞的 cmdlet (Content cmdlet) 與 Registry 提供程式一起使用。
每個註冊表項均由一個安全描述符進行保護。您可以使用 Get-Acl 來查看註冊表項的安全描述符。

功能

ShouldProcess

示例

在註冊表中導航
-------------------------- 示例 1 --------------------------
此命令將當前位置設定為 HKEY_LOCAL_MACHINE\Software 註冊表項:
set-location hklm:\software
-------------------------- 示例 2 --------------------------
此命令顯示當前位置:
get-location
管理註冊表項
-------------------------- 示例 1 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的每個直接子項的信息:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的每個註冊表條目的值名稱和值數據:
get-childitem -path hklm:\software
只有當 Default 註冊表條目具有註冊表值時,才會返回該項。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子項下創建 TestNew 子項:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的 Temp 註冊表條目的值名稱和值數據:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令刪除 HKEY_CURRENT_USER\Environment 註冊表項的 TestNew 子項:此命令在 HKEY_CURRENT_USER 項中創建註冊表條目 pstest,並將它的值設定為 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令將 TestNew 項複製到 TestCopy 子項:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值更新為 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的所有子項的信息:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值名稱重命名為 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnewcopy 註冊表項及其屬性以及它的所有子項及其屬性一起移動到 HKEY_CURRENT_USER\Environment\testnew:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 項:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnew 註冊表項重命名為 HKEY_CURRENT_USER\Environment\test:此命令將 HKEY_CURRENT_USER\environment\testnewcopy 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 項:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令顯示指定註冊表項的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 項中的註冊表條目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 來清除子項的默認註冊表條目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 註冊表項的默認條目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 1 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的每個直接子項的信息:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的每個註冊表條目的值名稱和值數據:
get-childitem -path hklm:\software
只有當 Default 註冊表條目具有註冊表值時,才會返回該項。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子項下創建 TestNew 子項:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的 Temp 註冊表條目的值名稱和值數據:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令刪除 HKEY_CURRENT_USER\Environment 註冊表項的 TestNew 子項:此命令在 HKEY_CURRENT_USER 項中創建註冊表條目 pstest,並將它的值設定為 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令將 TestNew 項複製到 TestCopy 子項:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值更新為 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的所有子項的信息:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值名稱重命名為 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnewcopy 註冊表項及其屬性以及它的所有子項及其屬性一起移動到 HKEY_CURRENT_USER\Environment\testnew:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 項:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnew 註冊表項重命名為 HKEY_CURRENT_USER\Environment\test:此命令將 HKEY_CURRENT_USER\environment\testnewcopy 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 項:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令顯示指定註冊表項的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 項中的註冊表條目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 來清除子項的默認註冊表條目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 註冊表項的默認條目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 9 --------------------------
此命令從 HKEY_CURRENT_USER\Environment\testnew 註冊表項中刪除註冊表條目 pstestnew:
remove-itemproperty -path hkcu:\environment\testnew `-name pstestnew
-------------------------- 示例 10 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnew 項中的默認註冊表條目的值更新為“default value”:
set-itemproperty -path hkcu:\environment\testnew `-name "(default)" -value "default value"
也可以使用 Set-Item cmdlet 來更新註冊表項的默認值。例如,以下命令更新 testnew 項的默認值: set-item -path hkcu:\environment\testnew -value "another default value"
管理註冊表項
-------------------------- 示例 1 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的每個直接子項的信息:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的每個註冊表條目的值名稱和值數據:
get-childitem -path hklm:\software
只有當 Default 註冊表條目具有註冊表值時,才會返回該項。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子項下創建 TestNew 子項:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的 Temp 註冊表條目的值名稱和值數據:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令刪除 HKEY_CURRENT_USER\Environment 註冊表項的 TestNew 子項:此命令在 HKEY_CURRENT_USER 項中創建註冊表條目 pstest,並將它的值設定為 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令將 TestNew 項複製到 TestCopy 子項:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值更新為 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的所有子項的信息:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值名稱重命名為 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnewcopy 註冊表項及其屬性以及它的所有子項及其屬性一起移動到 HKEY_CURRENT_USER\Environment\testnew:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 項:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnew 註冊表項重命名為 HKEY_CURRENT_USER\Environment\test:此命令將 HKEY_CURRENT_USER\environment\testnewcopy 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 項:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令顯示指定註冊表項的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 項中的註冊表條目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 來清除子項的默認註冊表條目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 註冊表項的默認條目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 1 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的每個直接子項的信息:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的每個註冊表條目的值名稱和值數據:
get-childitem -path hklm:\software
只有當 Default 註冊表條目具有註冊表值時,才會返回該項。
-------------------------- 示例 2 --------------------------
此命令在 HKCU:\Environment 子項下創建 TestNew 子項:此命令顯示 HKEY_CURRENT_USER\Environment 註冊表項中的 Temp 註冊表條目的值名稱和值數據:
new-item -path hkcu:\Environment\TestNew
-------------------------- 示例 3 --------------------------
此命令刪除 HKEY_CURRENT_USER\Environment 註冊表項的 TestNew 子項:此命令在 HKEY_CURRENT_USER 項中創建註冊表條目 pstest,並將它的值設定為 pstestvalue:
remove-item -path hkcu:\Environment\TestNew
-------------------------- 示例 4 --------------------------
此命令將 TestNew 項複製到 TestCopy 子項:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值更新為 updatedvalue:
copy-item -path hkcu:\Environment\TestNew hkcu:\Environment\TestNew\TestCopy
-------------------------- 示例 5 --------------------------
此命令顯示有關 HKEY_LOCAL_MACHINE\Software 註冊表項的所有子項的信息:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstest 的值名稱重命名為 pstestnew:
get-childitem -path hklm:\Software -recurse
-------------------------- 示例 6 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnewcopy 註冊表項及其屬性以及它的所有子項及其屬性一起移動到 HKEY_CURRENT_USER\Environment\testnew:此命令將 HKEY_CURRENT_USER\Environment 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\Environment\testnewcopy 項:
move-item -path hkcu:\environment\testnewcopy `-destination hkcu:\environment\testnew
-------------------------- 示例 7 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnew 註冊表項重命名為 HKEY_CURRENT_USER\Environment\test:此命令將 HKEY_CURRENT_USER\environment\testnewcopy 項中的註冊表條目 pstestnew 複製到 HKEY_CURRENT_USER\environment\testnew 項:
rename-item -path hkcu:\environment\testnew\ -newname test
-------------------------- 示例 8 --------------------------
此命令顯示指定註冊表項的安全描述符:此命令清除 HKEY_CURRENT_USER\Environment\testnew 項中的註冊表條目 pstestnew 的值:
get-acl -path hkcu:\environment\testnew | format-list -property *
您可以使用 Clear-Item cmdlet 來清除子項的默認註冊表條目的值。例如,以下命令清除 HKEY_CURRENT_USER\Environment\testnew 註冊表項的默認條目的值: clear-item -path hkcu:\environment\testnew
-------------------------- 示例 9 --------------------------
此命令從 HKEY_CURRENT_USER\Environment\testnew 註冊表項中刪除註冊表條目 pstestnew:
remove-itemproperty -path hkcu:\environment\testnew `-name pstestnew
-------------------------- 示例 10 --------------------------
此命令將 HKEY_CURRENT_USER\Environment\testnew 項中的默認註冊表條目的值更新為“default value”:
set-itemproperty -path hkcu:\environment\testnew `-name "(default)" -value "default value"
也可以使用 Set-Item cmdlet 來更新註冊表項的默認值。例如,以下命令更新 testnew 項的默認值: set-item -path hkcu:\environment\testnew -value "another default value"

動態參數

動態參數是由 Windows PowerShell 提供程式添加的 cmdlet 參數,且只可用於在啟用了提供程式的驅動器中使用 cmdlet 的情況。
Type <Microsoft.Win32.RegistryValueKind>
指定在將值存儲到註冊表中時使用的數據類型,或標識註冊表中的值的數據類型。
ValueDescription
String
指定以 Null 結尾的字元串。與 REG_SZ 等效。
ExpandString
指定一個以 Null 結尾的字元串,該字元串包含對環境變數的未展開引用,這些引用在檢索值時展開。與 REG_EXPAND_SZ 等效。
Binary
指定任意格式的二進制數據。與 REG_BINARY 等效。
DWord
指定一個 32 位的二進制數。與 REG_DWORD 等效。
MultiString
指定一個包含以 Null 結尾的字元串的數組,該數組以兩個 Null 字元終止。與 REG_MULTI_SZ 等效。
QWord
指定一個 64 位的二進制數。與 REG_QWORD 等效。
Unknown
指示不支持的註冊表數據類型,如 REG_RESOURCE_LIST。

相關詞條

熱門詞條

聯絡我們