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
}
Das war mir nicht klar. Vielen Dank! – Gizmo44667