Isso não é possível no momento com o recurso Registry
, como você descobriu.
Você pode usar um Script
resource ou gravar um recurso personalizado completo.
Eu sei que posso garantir a presença de um valor de registro específico usando o seguinte scriptblock:
Registry ConfigureRegistry
{
Ensure = 'Present'
Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\SomeKey'
ValueName = 'MachineType'
ValueData = 'Hyper-V'
}
Mas como posso excluir a chave de registro SomeKey
? Se eu apenas alterar a palavra-chave Ensure = "Present"
para Ensure = "Absent"
, a chave SomeKey
...
Isso não é possível no momento com o recurso Registry
, como você descobriu.
Você pode usar um Script
resource ou gravar um recurso personalizado completo.
Isso é possível, conforme documentado :
To add or remove a registry key, specify [ValueName] as an empty string without specifying ValueType or ValueData.
Registry ConfigureRegistry
{
Ensure = 'Absent'
Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\SomeKey'
ValueName = ''
}
PSDrives também funcionam:
Registry ConfigureRegistry
{
Ensure = 'Absent'
Key = 'HKLM:\SOFTWARE\SomeKey'
ValueName = ''
}
Tags powershell dsc