Compartir a través de


Actualizar startupType de un servicio

Descripción

En este ejemplo se muestra cómo puede usar el Service recurso para asegurarse de que existe un servicio con el tipo de inicio correcto.

Con Ensure establecido en Present, Name (Nombre ) establecido Service1en y Path not set ( Ruta de acceso no establecida), el recurso produce una excepción si el servicio no existe.

Con StartupType establecido en Manual, el recurso establece el tipo Manual de inicio en si el Service1 servicio existe y tiene cualquier otro tipo de inicio.

Con State establecido en Ignore, el recurso no inicia ni detiene el Service1 servicio.

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 y tiene el tipo de Manual inicio.

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

Con una configuración

Este fragmento de código muestra cómo puede definir un Configuration elemento con un Service bloque de recursos para asegurarse de que el Service1 servicio existe y tiene el tipo de Manual inicio.

Configuration UpdateStartupType {
    Import-DscResource -ModuleName 'PSDscResources'

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