Dela via


Lägga till en registernyckel

Description

Det här exemplet visar hur du kan använda resursen Registry för att säkerställa att det finns en registernyckel.

Med Se till inställd på Present, anger ValueName till en tom sträng och Nyckel inställd på , lägger resursen till HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\MyNewKeyregisternyckeln MyNewKey om den inte finns.

Med Invoke-DscResource

Det här skriptet visar hur du kan använda resursen Registry med cmdleten Invoke-DscResource för att säkerställa att registernyckeln MyNewKey finns.

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

Med en konfiguration

Det här kodfragmentet visar hur du kan definiera en Configuration med ett Registry resursblock för att säkerställa att registernyckeln MyNewKey finns.

Configuration AddKey {
    Import-DscResource -ModuleName 'PSDscResources'

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