例子

例子

我知道我可以使用以下脚本块来确保特定注册表值的存在:

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

但是我怎样才能删除注册表项SomeKey?如果我只将关键字更改Ensure = "Present"为,Ensure = "Absent"它将保留该项SomeKey...

答案1

现在可以实现,请参阅 VertigoRay 的回答。

Registry正如您所发现的,目前利用该资源还不可能实现这一点。

您可以使用Script资源或者编写完整的自定义资源。

答案2

这个有可能,据记载

要添加或删除注册表项,请将 [ValueName] 指定为空字符串,而不指定 ValueType 或 ValueData。

例子

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

PSDrives 也可以工作:

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

相关内容