Compartir a través de


Agregar o actualizar un valor de clave del Registro

Descripción

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

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

Con ValueType establecido en Binary, ValueData establecido 0x00en y Force establecido $trueen , el recurso establece el valor 0 de clave del Registro en incluso si existe con un valor diferente.

Con Invoke-DscResource

Este script muestra cómo puede usar el Registry recurso con el Invoke-DscResource cmdlet para asegurarse de que la clave del Environment Registro tiene el MyValue valor establecido en 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 configuración

Este fragmento de código muestra cómo puede definir un Configuration con un Registry bloque de recursos para asegurarse de que la clave del Environment Registro tiene el MyValue valor establecido en 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
        }
    }
}