Share via


Aktualisieren der StartupType eines Diensts

Beschreibung

In diesem Beispiel wird gezeigt, wie Sie die Service Ressource verwenden können, um sicherzustellen, dass ein Dienst mit dem richtigen Starttyp vorhanden ist.

Wenn sie auf "Name"Presentfestgelegt ist und "Pfad" nicht festgelegt Service1ist, löst die Ressource eine Ausnahme aus, wenn der Dienst nicht vorhanden ist.

Mit "StartupType" auf "StartType" festgelegtManual, legt die Ressource den Starttyp fest, wenn der Service1 Dienst vorhanden ist und einen anderen Starttyp Manual aufweist.

Wenn der Status auf Ignore"State" festgelegt ist, beginnt die Ressource nicht, oder beenden Sie den Service1 Dienst.

Mit Invoke-DscResource

Dieses Skript zeigt, wie Sie die Service Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen, dass der Service1 Dienst vorhanden ist und den Manual Starttyp aufweist.

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

Mit einer Konfiguration

In diesem Codeausschnitt wird gezeigt, wie Sie einen ConfigurationService Ressourcenblock definieren können, um sicherzustellen, dass der Service1 Dienst vorhanden ist und den Manual Starttyp aufweist.

Configuration UpdateStartupType {
    Import-DscResource -ModuleName 'PSDscResources'

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