Recurso-DSC: Como posso excluir uma chave do registro (não valor)?

5

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 ...

será deixada     
por Matze 12.11.2014 / 15:24

2 respostas

2

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.

    
por 12.11.2014 / 20:06
1

Isso é possível, conforme documentado :

To add or remove a registry key, specify [ValueName] as an empty string without specifying ValueType or ValueData.

Exemplo

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

PSDrives também funcionam:

Registry ConfigureRegistry
{
    Ensure    = 'Absent'
    Key       = 'HKLM:\SOFTWARE\SomeKey'
    ValueName = ''
}
    
por 16.04.2018 / 19:45