PowerShell: Arka Plan İşleriyle Oynamak


Bu blog yazısında size PowerShell Arka Plan İşleriyle ilgili geliştirebileceğiniz birkaç örnek vermek istiyorum. Hadi içeri girelim.

Diyelim ki birkaç bilgisayara ping atmak istiyorum. Bu zaman tüketir. Bu yüzden bu görevin arka planda PowerShell arka plan işi olarak çalışmasını istiyorum.

İlk önce bazı bilgisayar adları oluşturuyorum.

$namen = @(
'orf.at'
'sid-500.com'
'8.8.8.8'
'9.9.9.9'
)

Daha sonra arka planda çalışan başka işlerin olup olmadığını hızlı bir şekilde kontrol edeceğim.

Get-Job | Remove-Job 

Daha sonra $namen içindeki tüm bilgisayar adlarına ping atmak için arka plan işime "ping" atmaya başlıyorum. Global bir değişken olan ve dolayısıyla komut dosyası bloğunun kapsamı dışında olan $namen'i kullanabilmek için $using değişkenini kullandığımı unutmayın.

Start-Job -Name 'ping' `
-ScriptBlock {Test-Connection -ComputerName $using:namen}

Get-Job'a hızlı bir bakış, bu işin şu anda çalıştığını gösterir.

Get-Job -State 'Running'

Her durumda, iş bittikten sonra sonucun çıktılanmayacağını ve -Keep parametresini kullanmadığınız sürece - her şeyden önce - sonucun yalnızca bir kez çıktılanacağını belirtmekte fayda var.

Receive-Job -Name ping
Receive-Job -Name ping -Keep # do not delete output

Bu kadar. Umarım PowerShell arka plan işlerine biraz ışık tutabilmişimdir.

İlgili makaleler