Condividi tramite


Creare un servizio

Descrizione

In questo esempio viene illustrato come usare la Service risorsa per assicurarsi che esista un servizio ed è in esecuzione.

Con Verifica impostato su , Nome impostato su Service1Presente Percorso impostato su C:\FilePath\MyServiceExecutable.exe, la risorsa crea Service1 se non esiste MyServiceExecutable.exe con come file eseguibile e la avvia.

Se Service1 esiste ma non è in esecuzione, la risorsa viene avviata.

Con Invoke-DscResource

Questo script illustra come usare la risorsa con il ServiceInvoke-DscResource cmdlet per assicurarsi che il Service1 servizio esista con MyServiceExecutable.exe come eseguibile ed è in esecuzione.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Service'
        ModuleName = 'PSDscResource'
        Properties = @{
            Name   = 'Service1'
            Ensure = 'Present'
            Path   = 'C:\FilePath\MyServiceExecutable.exe'
        }
    }

    $NonGetProperties = @(
        'Ensure'
        'Path'
    )
}

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

Con una configurazione

Questo frammento di codice illustra come definire un Configuration oggetto con un Service blocco di risorse per assicurarsi che il Service1 servizio esista con MyServiceExecutable.exe come eseguibile ed è in esecuzione.

Configuration Create {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Service ExampleService {
            Name   = 'Service1'
            Ensure = 'Present'
            Path   = 'C:\FilePath\MyServiceExecutable.exe'
        }
    }
}