Compartir a través de


Iniciar un proceso

Descripción

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

Con Ensure establecido en Present, Path establecido C:\Windows\System32\gpresult.exeen y Arguments establecido /h C:\gp2.htmen , el recurso comienza gpresult.exe con los argumentos especificados si no se está ejecutando.

Con Invoke-DscResource

Este script muestra cómo puede usar el WindowsProcess recurso con el Invoke-DscResource cmdlet para asegurarse de que gpresult.exe se ejecuta con los argumentos /h C:\gp2.htm.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'WindowsProcess'
        ModuleName = 'PSDscResource'
        Properties = @{
            Path      = 'C:\Windows\System32\gpresult.exe'
            Arguments = '/h C:\gp2.htm'
            Ensure    = 'Present'
        }
    }

    $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 se puede definir un Configuration objeto con un WindowsProcess bloque de recursos para asegurarse de que gpresult.exe se ejecuta con los argumentos /h C:\gp2.htm.

Configuration Start {
    Import-DSCResource -ModuleName 'PSDscResources'

    Node localhost {
        WindowsProcess ExampleWindowsProcess {
            Path      = 'C:\Windows\System32\gpresult.exe'
            Arguments = '/h C:\gp2.htm'
            Ensure    = 'Present'
        }
    }
}