Share via


Hinzufügen von Registrierungsschlüsseln

Beschreibung

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

Mit "SicherstellenPresent" auf "WertName" auf eine leere Zeichenfolge festgelegt und auf "Schlüssel" festgelegtHKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\MyNewKey, fügt die Ressource den MyNewKey Registrierungsschlüssel hinzu, wenn es nicht vorhanden ist.

Mit Invoke-DscResource

Dieses Skript zeigt, wie Sie die Registry Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen, dass der MyNewKey Registrierungsschlüssel vorhanden ist.

[CmdletBinding()]
param()

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

    $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

In diesem Codeausschnitt wird gezeigt, wie Sie einen ConfigurationRegistry Ressourcenblock definieren können, um sicherzustellen, dass der MyNewKey Registrierungsschlüssel vorhanden ist.

Configuration AddKey {
    Import-DscResource -ModuleName 'PSDscResources'

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