PowerShell Job Nedir Nasıl Kullanılır

Selamlar arkadaşlar bu makalemde sizlere PowerShell üzerinde JOB çalıştırmayı anlatacağım.

Sonuçlanması uzun sürecek bir kodu PowerShell konsolunda çalıştırdığınızda, yapmış olduğunuz işlem bitmeden yeni komutlar anlık konsolunuzun üzerinde çalıştaramazsınız. Varsayılan olarak PowerShell bu komut tamamlanana kadar konsolu kapatacaktır ve işlem yapmanıza izin vermeyecektir. Böylesi bir durumda komutun tamamlanmasını beklemeli ya da yeni bir konsol açarak kod yazmalısınız ancak yeni bir konsol açmanız durumunda öncesinde oluşturmuş olduğunuz değişkenleri vs. kullanamayacaksınız.

Bu tür olayları engellemek için oluşturulan JOB ile komutunuz arkaplanda çalıştırılması sağlayabilir ve bu sırada sizde konsol üzerinde çalışmaya devam edebilirsiniz. Microsoft bu JOBlara Background Job, Remote Job, VMI Job adlarını vererek katogorilere ayırmıştır ancak hepsinin çalışma mantığı aynıdır. Ör olarak bir VMI sorgunusunu JOB olarak çalıştırırsanız bu bir VMI JOB olacaktır.

> Start-Job -ScriptBlock { Get-ADObject -Filter * -Properties * }
// Komutu yardımıyla -ScriptBlock‘ta { } (Süslü Parantezlerin) arasındaki yazılan kodlar arka planda çalıştırılacaktır.

> Get-Job -Name Job
// Kodu yardımıyla JOB‘ımız durumunu State alanında görebilmekteyiz. Bu sorgulama işlemini -Id yardımıyla JOB Id bilgisini girerekte yapabiliriz.

> Get-Job -Id 1 -IncludeChildJob
// Çalıştırılan bir JOB otomatik olarak PowerShell tarafından alt JOB‘lara bölünecektir. Bu kod yardımıyla alt JOB‘ları görebilirsiniz.

> Receive-Job -Id 1
// Komutu yardımıyla çalıştırılan JOB‘ın sonuçları gösterilecektir.

> Receive-Job -Id 1 -Keep
// Ek olarak -Keep komutu ile çalıştırmanız durumunda sonuçlar silinmeyecek ve HasMoreData alanı her zaman True olarak kalacaktır.

> Receive-Job 3 > C:\Sonuc.txt
// Komutu yardımıylada sonuçları dışarı export edebilirsiniz.

Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.

Bir Cevap Yazın