PowerShell Provider - Registry
 記事記号:[me1509] 初版:2011/May/10

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

プロバイダー名
    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
ご利用数: 1917020
感想・要望・問い合わせは こちら