Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell Jobs Parallel Ergebnis in DataTable mag bei GUI nicht ohne gehts

Mitglied: H41mSh1C0R

H41mSh1C0R (Level 3) - Jetzt verbinden

12.09.2017, aktualisiert 13.09.2017, 1334 Aufrufe

Servus,

folgendes geht im Trockentest:

01.
$servers =  @('ServerA','ServerB','ServerC','ServerD','ServerE' ) 
02.
 
03.
foreach ($server in $servers) { 
04.
    $running = @(Get-Job | Where-Object { $_.State -eq 'Running' }) 
05.
    if ($running.Count -ge 2) { 
06.
        $running | Wait-Job -Any | Out-Null 
07.
08.
 
09.
    Write-Host "Starting job for $server" 
10.
    Start-Job { 
11.
        Param($server)  
12.
        $PxeS   = Invoke-Command -ComputerName $using:server -ScriptBlock { Get-Service -DisplayName "Service1" -ErrorAction SilentlyContinue  }  
13.
        $CoreS  = Invoke-Command -ComputerName $using:server -ScriptBlock { Get-Service -DisplayName "Service2" -ErrorAction SilentlyContinue }  
14.
        
15.
        New-Object PSObject -Property @{ Servername=$using:server ; PxeS=$($PxeS).Status;CoreS=$($CoreS).Status } 
16.
    }  
17.
18.
 
19.
Wait-Job * | Out-Null 
20.
 
21.
foreach($job in Get-Job) 
22.
23.
    $result = Receive-Job $job 
24.
    Write-Host $result.Servername 'PXE: ' $result.PxeS   'CoreS: ' $result.CoreS 
25.
26.
 
27.
Remove-Job -State Completed
Die Jobs rennen auch wunderbar parallel los und er liefert mir zu den Diensten auch die Werte.

Jetzt habe ich den obrigen Block versucht zu erweitern um das hinzufügen in eine DataTable.

01.
$result = Receive-Job $job 
02.
            
03.
    $row = ($result.Servername, 
04.
         $result.CoreS, 
05.
         $result.PxeS,) 
06.
 
07.
    Write-Host $result.Servername 'PXE: ' $result.PxeS   'CoreS: ' $result.CoreS 
08.
 
09.
    $global:table.Rows.Add($row) 
10.
 
11.
    $dataGridView.Update()

Die Table ist an ein DGV gebunden und er gibt mir immer nur die Werte vom Ersten Job aus.
Bei 5 Servern bekomme ich so nur ServerA und dann 4 leere Zeilen.
Selbst das write-host gibt bei der Variante nichts aus.
Nutze ich den reinen Trockentest bekomme ich in der Console von allen Servern auch den Status der Dienste ausgegeben.

;( ?

Hat einer eine Idee?

Irgendwas falsch beim Zusammenbauen der $row?

VG


EDIT:
Übeltäter gefunden

01.
Remove-Job -State Completed
Nachdem die Ergebnisse vom ersten Job abgearbeitet wurden kam das Cmdlet zu früh und räumte alle anderen Jobs ab. =)

Ähnliche Inhalte
Batch & Shell
Powershell DataTable DataView
gelöst Frage von H41mSh1C0RBatch & Shell4 Kommentare

Hi in die Runde, ich habe ein DataGridView. An dieses habe ich eine DataTable gehängt. Jetzt möchte ich Spalten ...

Batch & Shell
Powershell 2 DataTable Daten mergen
gelöst Frage von H41mSh1C0RBatch & Shell6 Kommentare

Hi in die Runde, ich habe 2 DataTables, eine mit X Spalten und eine mit Y Spalten. Der Inhalt ...

Batch & Shell
Powershell Regex mag nicht
gelöst Frage von H41mSh1C0RBatch & Shell3 Kommentare

Hi@All, Ich habe mehrere Einträge "<text aaa>-b-cc1<1>" und "<aaa>-b-cc1<1>" "< >" kennzeichnen die variablen Anteile Jetzt bekomme ich auch ...

Batch & Shell

Powershell Get-ChildItem auf einem Share mag nicht wie es soll

gelöst Frage von H41mSh1C0RBatch & Shell7 Kommentare

Hallo in die Runde, Ich versuche Daten zu erheben von einem Software Depot. Lokal mit meinem Testordner macht er ...

Neue Wissensbeiträge
Multimedia & Zubehör
AVM Fritz USB WLAN Sticks schneller einschalten
Tipp von NetzwerkDude vor 12 StundenMultimedia & Zubehör

Die AVM Fritz WLAN Sticks haben in der Firmware 2 Modis: Einmal als Massenspeicher und einmal als WLAN Netzwerkkarte ...

Windows Server

Windows Server Backup schlögt Fehl -Lösung 2008-2016

Tipp von BiGnoob vor 14 StundenWindows Server

Hi zusammen , ich möchte gerne einen Lösungstipp abgeben für folgenden fehler: lösung ist folgende:

Humor (lol)
Telekom vs. O2 - 3:2
Erfahrungsbericht von the-buccaneer vor 1 TagHumor (lol)3 Kommentare

Unglaublich aber wahr: Nachdem mein privater Anschluss am 19.04.18 auf VOIP und VDSL umgestellt wurde, hatte ich seitdem 1,5 ...

Batch & Shell

Windows 10 Heimnetzgruppe abgeschaft. Ein Script für einfache Netzwerk - Freigabe im Heimnetzwerk

Anleitung von treehe vor 1 TagBatch & Shell3 Kommentare

Anleitung für eine einfache Netzwerkfreigabe unter Windows 10 Wie weiter hab mal ein kleines CMD - Script gebastelt. Womit ...

Heiß diskutierte Inhalte
Netzwerke
IP-Adresse am zweiten Domänencontroller fest vergeben - Server verschwunden
gelöst Frage von DanielG1974Netzwerke25 Kommentare

Ich hab ein Problem, was ich bisher noch nicht erlebt habe Ich habe erfolgreich einen zweiten Server mit ActiveDirectory ...

Windows Tools
Virtueller Drucker gesucht (Schnittstelle: USB oder Seriell)
Frage von chrisButterflyWindows Tools19 Kommentare

Hi, ich suche einen virtuellen Drucker, den ich über eine USB oder serieller Schnittstelle ansprechen kann. Dieser Drucker soll ...

Windows Server
Windows Server 2012 - Update - Beim Booten bleibt der Server beim Windows Zeichen stehen
Frage von KeilbachWindows Server15 Kommentare

Hallo Zusammen, ich grüße euch, mein Name ist Michele. Ich bin hier ganz Neu - da ich einfach nicht ...

Firewall
Sophos SG 125 nicht mehr erreichbar
Frage von GwaihirFirewall14 Kommentare

Hallo zusammen, ausgerechnet über die Feiertage stimmt etwas mit meiner Firmen-Firewall nicht. Es ist eine Sophos SG 125 und ...