10 Eylül 2020 Perşembe

Powershell Start-Job - Arka Planda İş Başlatır

Giriş
Bu komut arka planda iş başlatırken Invoke-Command ön planda iş başlatır.

Backtick
Backtick ile satırları bölmek iyi değil. Onun yerine zaten bölünebilecek yerlde bölmek lazım. Açıklaması şöyle.
The best thing is to leave out the line continuation character and simply break at the pipe, the comma, the brace, or the parenthesis because Windows PowerShell is expecting it anyway, and you avoid a potential source of failure.
ScriptBlock seçeneği
Örnek
Şöyle yaparız. scriptBlock arka planda çalıştırılacak metodu temsil eder. Bu metod bir parametre ile çağrılır
$Param1 = "..."
$Computers =(Get-Content "computers.txt")

foreach ($computer in $Computers) {

  $scriptBlock = {

    param($ScriptParam1)

    ...

  }

  Start-Job -Name "Job-$computer" -ScriptBlock $scriptBlock -ArgumentList ($Param1)

}


#wait for jobs to finish
Get-Job | Wait-Job


#Show output of jobs
Get-Job | Receive-Job


Hiç yorum yok:

Yorum Gönder