2016-09-12 4 views
0

Ich schreibe ein Skript zum Pingen mehrerer Websites und öffne dann die Datei, um Ihnen die Ergebnisse anzuzeigen. Ich möchte, dass sich die Ergebnisse öffnen, wenn sie fertig sind. Stattdessen wartet es, bis alle Jobs beendet sind, bevor die Dateien geöffnet werden. Ich hatte auch Probleme, wo es nur einige der Dateien öffnet. Jede mögliche Hilfe würdePowershell Multijob-Skript. Öffnen Sie die Datei, wenn der Auftrag abgeschlossen ist, anstatt zu warten, bis alle Aufträge abgeschlossen sind.

$count = 500 

$sites = "www.google.com","8.8.8.8","127.0.0.1" 

foreach ($site in $sites) 
{ 
    Remove-Item "C:\WFSupport\Self Service Tool\$site.txt" 
    start-job -Name $site -ScriptBlock { param ($count,$site) ping -n $count $site } -ArgumentList $count, $site 

} 
While ((Get-Job).State -match 'Running') 
{ 
foreach ($Job in Get-Job | where {$_.HasMoreData}) 
{ 
$Jobname = $Job.Name 
Receive-Job $Job | Out-File -Encoding ascii -Append "C:\WFSupport\Self Service Tool\$Jobname.txt" 
} 
Start-Sleep -Seconds 10 
} 
While ((Get-Job).State -match 'Completed') 
{ 
foreach ($Job in Get-Job | where {$_.HasMoreData}) 
{ 
$Jobname = $Job.Name 
Receive-Job $Job | Out-File -Encoding ascii -Append "C:\WFSupport\Self Service Tool\$Jobname.txt" 
Invoke-Item "C:\WFSupport\Self Service Tool\$Jobname.txt" 
} 
Get-Job | Remove-Job 
} 

Antwort

0

geschätzt sein, weil die While-Schleife Überprüfung für ‚Running‘ nicht aufhören, bis alle Aufträge ausgeführt werden gestoppt. Keiner der folgenden Codes wird bis zum Ende der while-Schleife ausgeführt.

while ((Get-Job).State -match 'Running') { 
    foreach ($job in Get-Job | where {$_.HasMoreData}) { 
     $jobname = $job.name 
     Receive-Job $Job | Out-File -Encoding ascii -Append "C:\WFSupport\Self Service Tool\$Jobname.txt" 
     if ($job.State -like 'Completed'){ 
      Invoke-Item "C:\WFSupport\Self Service Tool\$Jobname.txt" 
      $job | remove-job 
     } 
    } 
    start-sleep -seconds 10 
} 
+0

Das war mir nicht klar. Vielen Dank! – Gizmo44667

Verwandte Themen