Registry Provider
プロバイダー名
Registry
ドライブ
HKLM:、HKCU:
簡易説明
Windows PowerShell からシステム レジストリのキーと値へのアクセスを提供します。
詳細説明
Windows PowerShell レジストリ プロバイダーを使用すると、Windows PowerShell でレジストリのキーと値を取得、追加、変更、クリア、および削除できます。
レジストリのキーは Microsoft.Win32.RegistryKey クラスのインスタンスとして表されます。レジストリの値は PSCustomObject クラスのインスタンスとして表されます。
レジストリ プロバイダーを使用すると、レジストリのキーとサブキーから構成される階層型の名前空間にアクセスできます。レジストリの値とデータは、この階層のコンポーネントではありません。この値とデータは、各キーのプロパティです。
レジストリ プロバイダーは、Get-Item、Copy-Item、および Rename Item など、名前に Item という名詞が含まれるすべてのコマンドレット (Item コマンドレット) をサポートします。レジストリのキーやサブキーを操作する場合は Item コマンドレットを使用します。また、名前に ItemProperty という名詞が含まれるコマンドレット (ItemProperty コマンドレット) もサポートします。レジストリの値やデータを操作する場合は ItemProperty コマンドレットを使用します。レジストリ プロバイダーでは、名前に Content という名詞が含まれるコマンドレット (Content コマンドレット) を使用できません。
各レジストリ キーはセキュリティ記述子によって保護されています。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 コマンドレットを使用すると、サブキーの既定のレジストリ エントリの値をクリアできます。たとえば、次のコマンドは、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 コマンドレットを使用して、レジストリ キーの既定の値を更新することもできます。たとえば、次のコマンドは、testnew キーの既定値を更新します。 set-item -path hkcu:\environment\testnew -value "another default value"
動的パラメーター
動的パラメーターとは、Windows PowerShell プロバイダーによって追加されるコマンドレット パラメーターであり、プロバイダーに対応したドライブでコマンドレットが使用されている場合のみ利用できます。
Type <Microsoft.Win32.RegistryValueKind>
レジストリに値を保存するときに使用するデータ型を指定するか、レジストリの値のデータ型を識別します。
Value | Description |
---|---|
String |
NULL で終わる文字列を指定します。REG_SZ と同値です。 |
ExpandString |
環境変数への展開されていない参照を含む NULL で終了する文字列を指定します。この参照は、値が取得されたときに展開されます。REG_EXPAND_SZ と同値です。 |
Binary |
任意の形式のバイナリ データを指定します。REG_BINARY と同値です。 |
DWord |
32 ビットの 2 進数を指定します。REG_DWORD と同値です。 |
MultiString |
2 つの NULL 文字で終了する、NULL で終わる文字列の配列を指定します。REG_MULTI_SZ と同値です。 |
QWord |
64 ビットの 2 進数を指定します。REG_QWORD と同値です。 |
Unknown |
REG_RESOURCE_LIST などのサポートされていないレジストリ データ型であることを示します。 |