提供者名稱

Registry

磁碟機

HKLM:、HKCU:

簡短描述

讓 Windows PowerShell 存取系統登錄機碼和值。

詳細描述

Windows PowerShell 登錄提供者可以用來取得、新增、變更、清除和刪除 Windows PowerShell 中的登錄機碼和值。

登錄機碼會以 Microsoft.Win32.RegistryKey 類別的執行個體表示。登錄值會以 PSCustomObject 類別的執行個體表示。

登錄提供者可用來存取由登錄機碼和子機碼組成的階層命名空間。登錄值和資料不是該階層結構中的元件。而是各個機碼的屬性。

登錄提供者支援包含名詞 Item 的所有 Cmdlet (Item Cmdlet),例如 Get-Item、Copy-Item 和 Rename-Item。請在處理登錄機碼和子機碼時使用這些 Item Cmdlet。登錄提供者也支援包含名詞 ItemProperty 的 Cmdlet (ItemProperty Cmdlet)。請在處理登錄值和資料時使用這些 ItemProperty Cmdlet。您不能將包含名詞 Content 的 Cmdlet (Content Cmdlet) 與登錄提供者搭配使用。

每一個登錄機碼都會以安全性描述元保護。您可以使用 Get-Acl 來檢視機碼的安全性描述元。

功能

ShouldProcess

範例

瀏覽登錄

-------------------------- 範例 1 --------------------------

以下命令會將目前位置設定成 HKEY_LOCAL_MACHINE\Software 登錄機碼:

set-location hklm:\software

-------------------------- 範例 2 --------------------------

以下命令會顯示目前的位置:

get-location

管理登錄機碼

-------------------------- 範例 1 --------------------------

以下命令會顯示 HKEY_LOCAL_MACHINE\Software 登錄機碼之每個直接關係子機碼的相關資訊:

get-childitem -path hklm:\software

-------------------------- 範例 2 --------------------------

以下命令會在 HKCU:\Environment 子機碼底下建立 TestNew 子機碼:

new-item -path hkcu:\Environment\TestNew

-------------------------- 範例 3 --------------------------

以下命令會移除 HKEY_CURRENT_USER\Environment 機碼的 TestNew 子機碼:

remove-item -path hkcu:\Environment\TestNew

-------------------------- 範例 4 --------------------------

以下命令會將 TestNew 機碼複製到 TestCopy 子機碼:

copy-item -path  hkcu:\Environment\TestNew  hkcu:\Environment\TestNew\TestCopy

-------------------------- 範例 5 --------------------------

以下命令會顯示 HKEY_LOCAL_MACHINE\Software 登錄機碼之所有子機碼的相關資訊:

get-childitem -path hklm:\Software -recurse

-------------------------- 範例 6 --------------------------

以下命令會將 HKEY_CURRENT_USER\Environment\testnewcopy 登錄機碼與其屬性,以及其所有子機碼及其屬性移至 HKEY_CURRENT_USER\Environment\testnew:

move-item -path hkcu:\environment\testnewcopy `
-destination hkcu:\environment\testnew

-------------------------- 範例 7 --------------------------

以下命令會將 HKEY_CURRENT_USER\Environment\testnew 登錄機碼重新命名為 HKEY_CURRENT_USER\Environment\test:

rename-item -path hkcu:\environment\testnew\ -newname test

-------------------------- 範例 8 --------------------------

以下命令會顯示指定之登錄項目的安全性描述元:

get-acl -path hkcu:\environment\testnew | format-list -property *

管理登錄項目

-------------------------- 範例 1 --------------------------

以下命令會顯示 HKEY_CURRENT_USER\Environment 登錄機碼中每個登錄項目的值名稱和值資料:

get-itemproperty -path hkcu:\Environment

預設的登錄項目只會在其包含值的情況下傳回。

-------------------------- 範例 2 --------------------------

以下命令會顯示 HKEY_CURRENT_USER\Environment 登錄機碼中 Temp 登錄項目的值名稱和值資料:

get-itemproperty -path hkcu:\Environment -name Temp

-------------------------- 範例 3 --------------------------

以下命令會在 HKEY_CURRENT_USER 機碼中建立 pstest 登錄項目,並將其值設定為 pstestvalue:

new-itemproperty -path hkcu:\environment -name "pstest" -value "pstestvalue"

-------------------------- 範例 4 --------------------------

以下命令會將 HKEY_CURRENT_USER\Environment 機碼中 pstest 登錄項目的值更新成 updatedvalue:

set-itemproperty -path hkcu:\environment -name pstest 
-value "updatedvalue"

-------------------------- 範例 5 --------------------------

以下命令會將 HKEY_CURRENT_USER\Environment 機碼中 pstest 登錄項目的值名稱重新命名成 pstestnew:

rename-itemproperty -path hkcu:\environment -name pstest `
-newname pstestnew

-------------------------- 範例 6 --------------------------

以下命令會將 HKEY_CURRENT_USER\Environment 機碼中的 pstestnew 登錄項目複製到 HKEY_CURRENT_USER\Environment\testnewcopy 機碼:

copy-itemproperty -path hkcu:\environment ` 
-destination hkcu:\environment\testnewcopy -name pstestnew

-------------------------- 範例 7 --------------------------

以下命令會將 HKEY_CURRENT_USER\environment\testnewcopy 機碼中的 pstestnew 登錄項目移至 HKEY_CURRENT_USER\environment\testnew 機碼:

move-itemproperty -path hkcu:\environment\testnewcopy ' 
-destination hkcu:\environment\testnew -name pstestnew

-------------------------- 範例 8 --------------------------

以下命令會清除 HKEY_CURRENT_USER\Environment\testnew 機碼中 pstestnew 登錄項目的值:

clear-itemproperty -path hkcu:\environment\testnew -name pstestnew

您可以使用 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"

動態參數

動態參數是 Cmdlet 參數,由 Windows PowerShell 提供者所新增,只有在已啟用提供者之磁碟機上的 Cmdlet 方可使用。

Type <Microsoft.Win32.RegistryValueKind>

指定在登錄中儲存值時所要使用的資料類型,或識別登錄中值的資料類型。

Value Description

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。

不明

表示不支援的登錄資料類型,例如 REG_RESOURCE_LIST。

所支援的 Cmdlet

請參閱




目錄