Compartir a través de


Quitar un valor de clave del Registro

Descripción

En este ejemplo se muestra cómo puede usar el Registry recurso para asegurarse de que no existe un valor de clave del Registro.

Con Ensure establecido en Absent, ValueName establecido en MyValuey Key establecido HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environmenten , el recurso quita el MyValue valor de clave del Registro en la Environment clave si existe.

Con Invoke-DscResource

Este script muestra cómo puede usar el Registry recurso con el Invoke-DscResource cmdlet para asegurarse de que la Environment clave del Registro no tiene un valor denominado MyValue.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Registry'
        ModuleName = 'PSDscResource'
        Properties = @{
            Key       = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
            Ensure    = 'Absent'
            ValueName = 'MyValue'
        }
    }

    $NonGetProperties = @(
        'Ensure'
    )
}

process {
    $TestResult = Invoke-DscResource -Method Test @SharedParameters

    if ($TestResult.InDesiredState) {
        $QueryParameters = $SharedParameters.Clone()

        foreach ($Property in $NonGetProperties) {
            $QueryParameters.Properties.Remove($Property)
        }

        Invoke-DscResource -Method Get @QueryParameters
    } else {
        Invoke-DscResource -Method Set @SharedParameters
    }
}

Con una configuración

Este fragmento de código muestra cómo se puede definir un Configuration objeto con un Registry bloque de recursos para asegurarse de que la Environment clave del Registro no tiene un valor denominado MyValue.

Configuration RemoveValue {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Registry ExampleRegistry {
            Key       = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
            Ensure    = 'Absent'
            ValueName = 'MyValue'
        }
    }
}