Share via


Starten eines Prozesses

Beschreibung

In diesem Beispiel wird gezeigt, wie Sie die WindowsProcess Ressource verwenden können, um sicherzustellen, dass ein Prozess ausgeführt wird.

Stellen Sie sicher, dass "PresentPfad" auf " und "Argumente" festgelegt /h C:\gp2.htmC:\Windows\System32\gpresult.exeist, beginnt gpresult.exe die Ressource mit den angegebenen Argumenten, wenn sie nicht ausgeführt wird.

Mit Invoke-DscResource

Dieses Skript zeigt, wie Sie die WindowsProcess Ressource mit dem Invoke-DscResource Cmdlet verwenden können, um sicherzustellen gpresult.exe , dass sie mit den Argumenten /h C:\gp2.htmausgeführt wird.

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

Mit einer Konfiguration

Dieser Codeausschnitt zeigt, wie Sie einen ConfigurationWindowsProcess Ressourcenblock definieren können, um sicherzustellen gpresult.exe , dass es mit den Argumenten /h C:\gp2.htmausgeführt wird.

Configuration Start {
    Import-DSCResource -ModuleName 'PSDscResources'

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