web-dev-qa-db-ja.com

DSC-リソース:レジストリキー(値ではない)を削除するにはどうすればよいですか?

次のスクリプトブロックを使用して、特定のレジストリ値の存在を確認できることを知っています。

    Registry ConfigureRegistry
    {
        Ensure    = 'Present'
        Key       = 'HKEY_LOCAL_MACHINE\SOFTWARE\SomeKey'
        ValueName = 'MachineType'
        ValueData = 'Hyper-V'
    }

しかし、どうすればレジストリキーSomeKeyを削除できますか?キーワードを変更するだけならEnsure = "Present"からEnsure = "Absent"キーを残しますSomeKey.。

5
Matze

これは可能になりました。VertigoRayの回答を参照してください。

ご存知のように、現時点ではRegistryリソースではこれは不可能です。

Script resource を使用するか、代わりに完全なカスタムリソースを作成できます。

3
briantist

これは可能です、 文書化されているように

レジストリキーを追加または削除するには、ValueTypeまたはValueDataを指定せずに、[ValueName]を空の文字列として指定します。

Registry ConfigureRegistry
{
    Ensure    = 'Absent'
    Key       = 'HKEY_LOCAL_MACHINE\SOFTWARE\SomeKey'
    ValueName = ''
}

PSDriveも機能します。

Registry ConfigureRegistry
{
    Ensure    = 'Absent'
    Key       = 'HKLM:\SOFTWARE\SomeKey'
    ValueName = ''
}
3
VertigoRay