Dela via


Uppdatera en tjänsts StartupType

Description

Det här exemplet visar hur du kan använda resursen Service för att säkerställa att en tjänst finns med rätt starttyp.

När Se till är inställt på Present, Namn inställt på Service1och Sökväg inte har angetts utlöser resursen ett undantag om tjänsten inte finns.

Med StartupType inställt på Manualanger resursen starttypen till Manual om Service1 tjänsten finns och har någon annan starttyp.

Med Tillstånd inställt på Ignorestartar eller stoppar inte resursen Service1 tjänsten.

Med Invoke-DscResource

Det här skriptet visar hur du kan använda resursen Service med cmdleten Invoke-DscResourceService1 för att säkerställa att tjänsten finns och har Manual starttypen.

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

Med en konfiguration

Det här kodfragmentet visar hur du kan definiera en Configuration med ett Service resursblock för att säkerställa Service1 att tjänsten finns och har Manual starttypen.

Configuration UpdateStartupType {
    Import-DscResource -ModuleName 'PSDscResources'

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