Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Powershell:Opvangen output van Invoke-command -AsJob

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik heb een script (MyScriptFileLauncher)welke voor een reeks servers een 2e script (MyScriptFile) gaat lanceren via Invoke-Command (WinRM) met de -Asjob parameter. De gebruikte versie is Powershell 2.0.

in MyScriptFile wordt op het einde een variabele gereturned via Write-Output.
Ik probeer deze output op te vangen door de Invoke-Command regel in MyScriptFileLauncher in een variabele $output te plaatsen

Deze output opvangen in $output lukt perfect als ik invoke-command gebruik zonder de -Asjob parameter, maar helaas lukt dat niet met deze Asjob.

De inhoud van deze variabele blijkt dan gewoon een capture string van het job resultaat van de laatste server zijn job, ziet er gewoon als volgt uit

1 LASTSERVER Completed True lastserver # Vers...

Ik zou het script wel graag lanceren "AsJob" want zo kan het parallel op meerdere servers lopen, anders gebeurt dit één per één wat geen optie is wegens de lange duur van de script runtime.

dit is de code in MyScriptFileLauncher waarbij het werkt maar dan server per server:
foreach ($server in $servers) {
$output += Invoke-Command -ComputerName $server -FilePath $MyScriptFile
}

dit is de code waarbij het niet werkt door de -Asjob parameter:

foreach ($server in $servers) {
$output += Invoke-Command -ComputerName $server -FilePath $MyScriptFile -AsJob -JobName "$server"
}

Ik vond online ook dit:
http://www.powershellmanual.com/invoke-command

OUTPUTS
System.Management.Automation.PSRemotingJob or the output of the invoked command
When you use the AsJob parameter, Invoke-Command returns a job object. Otherwise, it returns the out
put of the invoked command (the value of the ScriptBlock parameter).


zou het returnen van remote variabelen dus echt niet mogelijk zijn met PS 2.0 wanneer men invoke-command -asjob gebruikt, of is de enige optie de output naar een file op de remote server die dan in een volgende fase opgehaald/ingelezen wordt?

[ Voor 10% gewijzigd door Verwijderd op 14-02-2014 11:03 ]