2015-06-17 8 views
6

Ich habe mehrere Remote-Jobs mit einem Powerhsell-Befehl invoke-command -session gestartet. In einigen Fällen wird mindestens einer der untergeordneten untergeordneten Jobs beendet, aber der lokale PS-Sitzungsstatus meldet die Jobs als "Running" und die Sitzung wartet, bis der Job beendet ist.Wie verlasse ich einen Remote-Job in einer PowerShell-Sitzung richtig?

Ist das ein bekannter Fehler in PSv2? Gibt es eine Problemumgehung oder eine Technik, die es PS ermöglichen, korrekt zu erkennen, wenn ein untergeordneter untergeordneter Job beendet wird?

+0

Haben Sie einen Code, um zu zeigen, welche Objekte oder Eigenschaften Sie betrachten? Hast du versucht, den * * Runspace * der * Sitzung zu betrachten? [System.Management.Automation.RemoteRunspace] AvailabilityChanged-Ereignis? –

+0

Wie stellen Sie fest, dass der untergeordnete Job beendet wurde? –

Antwort

0

Wenn Sie Invoke-Command-Session verwenden, glaube ich, dass Sie den Get-PSSession-Befehl verwenden müssen, um den aktualisierten Status zu erhalten. Von Technet:

-Session

Führt den Befehl in den angegebenen Windows Powershell-Sitzungen (PSSessions). Geben Sie eine Variable ein, die die PSSessions enthält, oder einen Befehl, der PSSessions erstellt oder abruft, z. B. den Befehl New-PSSession oder Get-PSSession.