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-ID: 348741

Url: https://administrator.de/forum/powershell-jobs-daten-rein-und-ergebnisse-raus-348741.html

Ausgedruckt am: 16.04.2025 um 22:04 Uhr

133883
Lösung 133883 11.09.2017 aktualisiert um 15:05:37 Uhr
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ß
H41mSh1C0R
H41mSh1C0R 11.09.2017 um 15:40:22 Uhr
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
133883
Lösung 133883 11.09.2017 aktualisiert um 15:57:03 Uhr
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 ...
H41mSh1C0R
H41mSh1C0R 11.09.2017 um 16:02:59 Uhr
Goto Top
=) ds