
記事記号:[me1509] 初版:2011/May/10

プロバイダー名
Registry
ドライブ
HKLM:、HKCU:
概要
Windows PowerShell からシステム レジストリのキーと値へのアクセスを提供します。
説明
Windows PowerShell レジストリ プロバイダーを使用すると、Windows PowerShell
でレジストリのキーと値を取得、追加、変更、クリア、および削除できます。
レジストリのキーは Microsoft.Win32.RegistryKey クラスのインスタンスとして表
されます。レジストリの値は PSCustomObject クラスのインスタンスとして表されま
す。
レジストリ プロバイダーを使用すると、レジストリのキーとサブキーから構成される
階層型の名前空間にアクセスできます。レジストリの値とデータは、この階層のコン
ポーネントではありません。この値とデータは、各キーのプロパティです。
レジストリ プロバイダーは、Get-Item、Copy-Item、および Rename Item など、名前
に Item という名詞が含まれるすべてのコマンドレット (Item コマンドレット) をサ
ポートします。レジストリのキーやサブキーを操作する場合は Item コマンドレット
を使用します。また、名前に ItemProperty という名詞が含まれるコマンドレット (I
temProperty コマンドレット) もサポートします。レジストリの値やデータを操作す
る場合は 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\Te
stCopy
-------------------------- 例 5 --------------------------
次のコマンドは、HKEY_LOCAL_MACHINE\Software レジストリ キーにあるすべて
のサブキーの情報を表示します。
get-childitem -path hklm:\Software -recurse
-------------------------- 例 6 --------------------------
次のコマンドは、HKEY_CURRENT_USER\Environment\testnewcopy レジストリ キ
ーとそのプロパティ、およびそのすべてのサブキーとプロパティを HKEY_CURREN
T_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 "pstestval
ue"
-------------------------- 例 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 キーの pstestn
ew レジストリ エントリを 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\Envi
ronment\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"
動的パラメーター
-Type
レジストリに値を保存するときに使用するデータ型を指定するか、レジストリの
値のデータ型を識別します。
String
NULL で終わる文字列を指定します。REG_SZ と同値です。
ExpandString
環境変数への展開されていない参照を含む NULL で終了する文字列を指
定します。この参照は、値が取得されたときに展開されます。REG_EXPA
ND_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 などのサポートされていないレジストリ データ型で
あることを示します。
サポートされるコマンドレット: Set-Item
メモ
関連するリンク
about_Providers

基本ソフト: Windows 7
キーワード: Windows PowerShell、ヘルプ、Provider、Registry