2017-10-02 7 views
0

Ich habe das Problem, dass ein einfacher PowerShell-Auftrag nicht abgeschlossen wird. Es wird immer ausgeführt werden. Ich versuche folgendes:PowerCLI PowerShell-Aufträge werden nicht beendet

$Job = Start-Job -Name "TestJob" -ScriptBlock {param($vcenter,$session) Connect-VIServer -Server $vcenter -Session $session; Get-VM -Name "VMName"} -ArgumentList $global:DefaultVIServer.Name,$global:DefaultVIServer.SessionSecret; 

Hoffentlich einige von Ihnen haben eine Idee, was ich falsch mache.

Vielen Dank im Voraus.

+0

, welche Version von Powershell verwenden Sie? – brendan62269

+0

Haben Sie versucht, die Jobausgabe zu erfassen? Versuchen Sie, Ihren Code an 'Wait-Job | Empfangs-Job'. –

+0

Ich habe es endlich gefunden. Danke für deine Antworten. Ich werde die Lösung als Antwort posten :). Und um Ihre Fragen zu beantworten: Ich verwende PowerShell Version 5 und Wait-Job wurde nicht beendet. Der Job war immer "Laufen". SO hatte Receive-Job keine Eingabe. –

Antwort

0

Die Lösung gefunden. Ich kann es nicht erklären, aber wenn Sie die Rückgabe von Get-VM in eine Variable schreiben, wird der Job normal beendet.

$Job = Start-Job -Name "TestJob" -ScriptBlock {param($vcenter,$session) Connect-VIServer -Server $vcenter -Session $session; $t = Get-VM -Name "VMName"} -ArgumentList $global:DefaultVIServer.Name,$global:DefaultVIServer.SessionSecret; 

Mit freundlichen Grüßen

Verwandte Themen