إزالة قيمة مفتاح التسجيل

الوصف

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

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

مع Invoke-DscResource

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

[CmdletBinding()]
param()

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

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

مع تكوين

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

Configuration RemoveValue {
    Import-DscResource -ModuleName 'PSDscResources'

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