Compartir a través de


Detener un proceso

Descripción

En este ejemplo se muestra cómo puede usar el WindowsProcess recurso para asegurarse de que un proceso no se está ejecutando.

Con Asegurar establecido en Absent, Ruta de acceso establecida en C:\Windows\System32\gpresult.exey Argumentos establecido en una cadena vacía, el recurso detiene cualquier proceso en ejecución gpresult.exe .

Con Invoke-DscResource

Este script muestra cómo puede usar el WindowsProcess recurso con el Invoke-DscResource cmdlet para asegurarse gpresult.exe de que no se está ejecutando.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'WindowsFeatureSet'
        ModuleName = 'PSDscResource'
        Properties = @{
            Path      = 'C:\Windows\System32\gpresult.exe'
            Arguments = ''
            Ensure    = 'Absent'
        }
    }

    $NonGetProperties = @(
        'Ensure'
    )
}

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 WindowsProcess bloque de recursos para asegurarse gpresult.exe de que no se está ejecutando.

Configuration Stop {
    Import-DSCResource -ModuleName 'PSDscResources'

    Node localhost {
        WindowsProcess ExampleWindowsProcess {
            Path      = 'C:\Windows\System32\gpresult.exe'
            Arguments = ''
            Ensure    = 'Absent'
        }
    }
}