Compartir a través de


Creación de un servicio

Descripción

En este ejemplo se muestra cómo puede usar el Service recurso para asegurarse de que existe un servicio y se está ejecutando.

Con Asegurar establecido en Present, Nombre establecido Service1en y Ruta de acceso establecida C:\FilePath\MyServiceExecutable.exeen , el recurso crea Service1 si no existe con MyServiceExecutable.exe como el archivo ejecutable y lo inicia.

Si Service1 existe pero no se está ejecutando, el recurso lo inicia.

Con Invoke-DscResource

Este script muestra cómo puede usar el Service recurso con el Invoke-DscResource cmdlet para asegurarse de que el Service1 servicio existe con MyServiceExecutable.exe como ejecutable y está en ejecución.

[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 configuración

Este fragmento de código muestra cómo puede definir un Configuration con un Service bloque de recursos para asegurarse de que el Service1 servicio existe con MyServiceExecutable.exe como ejecutable y se está ejecutando.

Configuration Create {
    Import-DscResource -ModuleName 'PSDscResources'

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