Referenciando este post de estouro de pilha
Executando sua construção em 3 servidores meus levou 2:23.
A execução do script abaixo levou 2:07. Não há muita economia, mas a execução em um número maior pode proporcionar mais economia de tempo. Você também pode mexer em como você produz no final, eu acho.
# Loop through the server list
Get-Content "C:\scripts\Servers.txt"| %{
# Define what each job does
$ScriptBlock = {
param($Server)
Write-Output $Server;
Get-EventLog -LogName System -EntryType Error -ComputerName $Server | Measure-Object|Out-String -Stream
}
# Execute the jobs in parallel
Start-Job $ScriptBlock -ArgumentList $_
}
# Wait for it all to complete
While (Get-Job -State "Running")
{
Start-Sleep 1
}
# Getting the information back from the jobs
Get-Job | Receive-Job|Write-Host