إضافة قيمة مفتاح التسجيل أو تحديثها

الوصف

يوضح هذا المثال كيف يمكنك استخدام Registry المورد لضمان تعيين قيمة مفتاح التسجيل.

مع تعيين Ensure إلى Present، تم تعيين ValueName إلى MyValue، وتعيين المفتاح إلى HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment، يضيف MyValue المورد قيمة مفتاح التسجيل أسفل Environment المفتاح إذا لم يكن موجودا.

مع تعيين ValueType إلى Binary، تم تعيين ValueData إلى 0x00، وتعيين Force إلى $true، يقوم المورد بتعيين قيمة مفتاح التسجيل إلى 0 حتى إذا كانت موجودة بقيمة مختلفة.

مع Invoke-DscResource

يوضح هذا البرنامج النصي كيف يمكنك استخدام Registry المورد مع Invoke-DscResource cmdlet للتأكد من Environment أن مفتاح التسجيل يحتوي على القيمة المعينة إلى .0MyValue

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

مع تكوين

توضح هذه القصاصة البرمجية كيف يمكنك تعريف Configuration مع كتلة Registry مورد للتأكد من Environment أن مفتاح التسجيل يحتوي على القيمة المعينة إلى .0MyValue

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