تحديث نوع بدء التشغيل للخدمة

الوصف

يوضح هذا المثال كيف يمكنك استخدام Service المورد للتأكد من وجود خدمة بنوع بدء التشغيل الصحيح.

مع تعيين Ensure إلى Present، وتعيين الاسم إلى Service1، وعدم تعيين المسار ، يطرح المورد استثناء إذا لم تكن الخدمة موجودة.

مع تعيين StartupType إلى Manual، يقوم المورد بتعيين نوع بدء التشغيل إلى Manual إذا كانت Service1 الخدمة موجودة ولها أي نوع بدء تشغيل آخر.

مع تعيين الحالة إلى Ignore، لا يبدأ المورد الخدمة أو يوقفها Service1 .

مع Invoke-DscResource

يوضح هذا البرنامج النصي كيف يمكنك استخدام Service المورد مع Invoke-DscResource cmdlet للتأكد من Service1 وجود الخدمة ولديها Manual نوع بدء التشغيل.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Service'
        ModuleName = 'PSDscResource'
        Properties = @{
            Name        = 'Service1'
            Ensure      = 'Present'
            StartupType = 'Manual'
            State       = 'Ignore'
        }
    }

    $NonGetProperties = @(
        'Ensure'
        'StartupType'
        'State'
    )
}

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 مع كتلة Service موارد للتأكد من Service1 وجود الخدمة ولديها Manual نوع بدء التشغيل.

Configuration UpdateStartupType {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Service ExampleService {
            Name        = 'Service1'
            Ensure      = 'Present'
            StartupType = 'Manual'
            State       = 'Ignore'
        }
    }
}