DSC Registry リソース
適用先:Windows PowerShell 4.0、Windows PowerShell 5.x
Windows PowerShell Desired State Configuration (DSC) の Registry リソースは、ターゲット ノードでレジストリ キーと値を管理するためのメカニズムを備えています。
注意
この DSC リソースのこのドキュメントでは、バージョン 7.2 より前の PowerShell に含まれているバージョンについて説明します。 PSDscResources モジュールには、Microsoft によって正式にサポートされている新規および更新された DSC リソースが含まれています。 PSDscResources モジュールは、PowerShell ギャラリーから入手できます。
詳細と更新されたドキュメントについては、 PSDscResources リファレンス ドキュメントを参照してください。
構文
Registry [string] #ResourceName
{
Key = [string]
ValueName = [string]
[ Force = [bool] ]
[ Hex = [bool] ]
[ ValueData = [string[]] ]
[ ValueType = [string] { Binary | Dword | ExpandString | MultiString | Qword | String } ]
[ DependsOn = [string[]] ]
[ Ensure = [string] { Present | Absent } ]
[ PsDscRunAsCredential = [PSCredential] ]
}
Properties
プロパティ | 説明 |
---|---|
Key | 特定の状態を確認するレジストリ キーのパスを示します。 このパスには、ハイブを含める必要があります。 |
ValueName | レジストリ値の名前を示します。 レジストリ キーを追加または削除するには、ValueType または ValueData を指定せずに、このプロパティを空の文字列で指定します。 レジストリ キーの既定値を変更または削除するには、ValueType または ValueData を指定し、このプロパティを空の文字列で指定します。 |
Force | 指定のレジストリ キーが存在する場合、Force はそのキーを新しい値で上書きします。 レジストリ キーをサブキーと共に削除する場合は、これが $true である必要があります。 |
Hex | 16 進形式でデータを表現するかどうかを示します。 指定した場合、DWORD/QWORD 値データが 16 進形式で表示されます。 その他の種類に対しては無効です。 既定値は $false です。 |
ValueData | レジストリ値のデータ。 |
ValueType | 値の種類を示します。 サポートされている型は、 String (REG_SZ)、 Binary (REG_BINARY)、 Dword (32 ビット REG_DWORD)、 Qword (64 ビット REG_QWORD)、 MultiString (REG_MULTI_SZ)、 ExpandString (REG_EXPAND_SZ) です。 |
共通プロパティ
プロパティ | 説明 |
---|---|
DependsOn | このリソースを構成する前に、他のリソースの構成を実行する必要があることを示します。 たとえば、最初に実行するリソース構成スクリプト ブロックの ID が ResourceName で、そのタイプが ResourceType である場合、このプロパティを使用する構文は DependsOn = "[ResourceType]ResourceName" になります。 |
Ensure | キーと値が存在するかどうかを示します。 それらが確実に実行されるようにするには、このプロパティを Present に設定します。 それらが存在しないことを保証するには、このプロパティを Absent に設定します。 既定値は Present です。 |
PsDscRunAsCredential | リソース全体を実行するための資格情報を設定します。 |
注意
PsDscRunAsCredential という共通プロパティは、他の資格情報という文脈の中であらゆる DSC リソースを実行するために WMF 5.0 で追加されました。 詳細については、「DSC リソースに対して資格情報を使用する」を参照してください。
例
例 1:指定された値とデータが指定されたレジストリ キーの下に存在することを確認する
この例では、"ExampleKey1" という名前のキーの下にあるレジストリ値 "TestValue" が HKEY\_LOCAL\_MACHINE
ハイブに存在し、データ "TestData" を含んでいることを確認します。
Configuration RegistryTest
{
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Registry RegistryExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\ExampleKey1"
ValueName = "TestValue"
ValueData = "TestData"
}
}
例 2:指定されたレジストリ キーが存在することを確認する
この例では、"ExampleKey2" という名前のキーが HKEY_LOCAL_MACHINE ハイブに存在することを確認します。
Configuration RegistryTest
{
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Registry RegistryExample
{
Ensure = "Present" # You can also set Ensure to "Absent"
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\ExampleKey2"
ValueName = ""
}
}
注意
HKEY_CURRENT_USER
ハイブのレジストリ設定を変更するには、構成がシステムとしてではなく、ユーザーの資格情報を使用して実行されている必要があります。 PsDscRunAsCredential プロパティを使用すれば、構成に対してユーザー資格情報を指定できます。 例については、「ユーザーの資格情報を指定して DSC を実行する」をご覧ください。