h41msh1c0r
Goto Top

Powershell Jobs Daten rein und Ergebnisse raus

Servus PS Pro's

Ziel:
Abfragen über mehrere Server von einem Dienst

bisher:
$serverliste =  @('Server1', 'Server2')  
$Ergebnis= @()

foreach ($Serv in $serverliste){
    $jobdata = Start-Job -ArgumentList $Serv -ScriptBlock {
Param($Serv) 
            $result= Invoke-Command -ComputerName $Serv -ScriptBlock { Get-Service -DisplayName "Service1" }  
            $Eintrag= New-Object PSObject -Property @{Name=$Serv;Data=$result;Status=$($result).Status}
    } | receive-job 
    $Ergebnis+= $Eintrag
}
$Ergebnis

Mal wieder etwas das Verständnis etwas geradeziehen. Vielleicht bin ich auch wieder zu kompliziert mit dabei.

Irgendwie verschweigt er mir am Ende die Spalte Name mit den Namen der Server. ;(

VG

Content-Key: 348741

Url: https://administrator.de/contentid/348741

Printed on: April 18, 2024 at 11:04 o'clock

Mitglied: 133883
Solution 133883 Sep 11, 2017 updated at 13:05:37 (UTC)
Goto Top
$Eintrag existiert außerhalb des Scriptblocks nicht!
Alle Daten werden in $jobdata geschrieben da du am.Ende der Pipe ein Receive-Job machst.
Denkfehler!

Gruß
Member: H41mSh1C0R
H41mSh1C0R Sep 11, 2017 at 13:40:22 (UTC)
Goto Top
=) Schonmal danke.

$serverliste =  @('Server1','Server2')  

foreach ($Serv in $serverliste){

$jobdata = Start-Job -ArgumentList $Serv -ScriptBlock {
            Param($Serv) 

           $result = Invoke-Command -ComputerName $Serv -ScriptBlock { Get-Service -DisplayName "HEAT DSM OSD PXE Service" }  
           New-Object PSObject -Property @{Name=$result.PSComputerName;Data=$result;Status=$($result).Status}


   } | receive-job -Wait

$jobdata
}

Ich bekomme nun den Status, Data und Name als Ergebnis zurück.
Durch das -Wait wird allerdings wenn ich das richtig verstehe gewartet bis der Job der dran ist abgearbeitet wird?

Oder wartet er einfach nur mit der Ausgabe bis alle Jobs abgearbeitet sind?

VG
Mitglied: 133883
Solution 133883 Sep 11, 2017 updated at 13:57:03 (UTC)
Goto Top
Oder wartet er einfach nur mit der Ausgabe bis alle Jobs abgearbeitet sind?
Du übergibst ihm in der Pipe sowieso nur einen Job min jung und darauf wartet er ...
Member: H41mSh1C0R
H41mSh1C0R Sep 11, 2017 at 14:02:59 (UTC)
Goto Top
=) ds