Share via


Entfernen eines Registrierungsschlüsselwerts

Beschreibung

In diesem Beispiel wird gezeigt, wie Sie die Registry Ressource verwenden können, um sicherzustellen, dass ein Registrierungsschlüsselwert nicht vorhanden ist.

Wenn Sie sicherstellen, dass "ValueName" Absentauf " festgelegt ist" und auf "Schlüssel" festgelegt HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\EnvironmentMyValueist, entfernt die Ressource den MyValue Registrierungsschlüsselwert unter dem Environment Schlüssel, falls vorhanden.

Mit Invoke-DscResource

Dieses Skript zeigt, wie Sie die Registry Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen, dass der Environment Registrierungsschlüssel keinen Wert namens MyValuehat.

[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
    }
}

Mit einer Konfiguration

Dieser Codeausschnitt zeigt, wie Sie einen ConfigurationRegistry Ressourcenblock definieren können, um sicherzustellen, dass der Environment Registrierungsschlüssel keinen Wert namens hat MyValue.

Configuration RemoveValue {
    Import-DscResource -ModuleName 'PSDscResources'

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