Benötigt, um meinen Code von Direct Call zu Start-Job-Verfahren aufgrund von Timeouts durch Symantec Antivirus (SEP) v14 zu ändern, mein Skript hängen.Empfangs-Job anders als Direktanruf
diese Schnapp funktioniert gut, so lange:
$updateDaten = Get-HotFix -computername "myserver" | % { $_.psbase.properties["installedOn"].Value } | Group-Object | select-object Name
Der Wechsel zu einem Start-Job preocedure vermasselt vollständig das resultierende Objekt auf. im googeln und Prüfung für zwei Tage jetzt aber nicht herausfinden kann, was so complicatet mit Job Objekten im Umgang:
function Get-HotfixesListAsJob($computer, $timeout){
$job = Start-Job { param($c) Get-HotFix -computername $c |
% { $_.psbase.properties["installedOn"].Value } | Group-Object
} -ArgumentList $computer
Wait-Job $job -Timeout $timeout
Stop-Job $job
Receive-Job $job
Remove-Job $job
}
$updateDaten = Get-HotfixesListAsJob -computer "myserver" -timeout 80
Allerdings bin ich nicht in der Lage das gleiche Ergebnis zu erhalten zurück Receive-Job verwenden. Ich bekomme immer ein verdrahtetes Job-Objekt, und ich kann die Daten nicht einfach so extrahieren, wie es vorher war. Warum ist das Ergebnis so komplett anders? Ist es möglich, nur die Daten in einem Objekt, wie es zuvor war, anstatt eines Jobobjekts zurück zu bekommen?
btw. Diese interessanten Artikel nicht lösen mein Problem: https://learn-powershell.net/2014/06/27/quick-hits-did-i-really-lose-my-output-with-receive-job-by-not-usingkeep/
Vielen Dank für Ihre Antworten im Voraus
Ihr Code funktioniert. Erstens, in der Funktion, die Sie nicht 'Objektnamen wählen' wählen, so erhalten Sie auch andere Eigenschaften - RunspaceId, Group, etc. Zweitens, die Ausgabe von 'wait-job' wird auch von Ihrer Funktion ausgegeben, und Sie wollen wahrscheinlich ' Wait-Job $ job -Timeout $ timeout | Out-Null, um es zum Schweigen zu bringen. Aber die Ergebnisse von Get-HotFix werden von Ihrer Funktion zurückgegeben ... – TessellatingHeckler
Danke @TesselingHeckler 'Wait-Job $ job -Timeout $ timeout | Out-Null hat das Problem wirklich gelöst! Die Ausgabe wurde das zurückkehrende Objekt durcheinander gebracht, ich habe dieses Verhalten nie in Betracht gezogen. Leider ist es nicht allgemein dokumentiert und gefährlich! –