Condividi tramite


Aggiungere o aggiornare un valore di chiave del Registro di sistema

Descrizione

In questo esempio viene illustrato come usare la risorsa per assicurarsi che sia impostato un valore di chiave del Registry Registro di sistema.

Con Verifica impostato su , ValueName impostato su MyValuePresente Key impostato su HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, la risorsa aggiunge il MyValue valore della chiave del Environment Registro di sistema nella chiave se non esiste.

Con ValueType impostato su , ValueData impostato su 0x00Binarye Force impostato su $true, la risorsa imposta il valore della chiave del Registro di sistema su anche se esiste con un valore 0 diverso.

Con Invoke-DscResource

Questo script illustra come usare la Registry risorsa con il cmdlet per assicurarsi che la chiave del EnvironmentInvoke-DscResource Registro di sistema abbia il MyValue valore impostato su 0.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Registry'
        ModuleName = 'PSDscResource'
        Properties = @{
            Key       = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
            Ensure    = 'Present'
            ValueName = 'MyValue'
            ValueType = 'Binary'
            ValueData = '0x00'
            Force     = $true
        }
    }

    $NonGetProperties = @(
        'Ensure'
        'ValueType'
        'ValueData'
        'Force'
    )
}

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 configurazione

Questo frammento di codice illustra come definire un Configuration oggetto con un Registry blocco di risorse per assicurarsi che la chiave del Environment Registro di sistema abbia il MyValue valore impostato su 0.

Configuration AddOrModifyValue {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Registry ExampleRegistry {
            Key       = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
            Ensure    = 'Present'
            ValueName = 'MyValue'
            ValueType = 'Binary'
            ValueData = '0x00'
            Force     = $true
        }
    }
}