PowerShell PipeLine Nedir ve Nasıl Kullanılır

Selamlar arkadaşlar bu makalemde sizlere PowerShell içerisinde en sık kullanılan PipiLine‘ı göstereceğim.

PipeLine nedir?

Yazmış olduğunuz komut satırı içerisinde birden fazla komut olması durumunda her komut ve parametreleri bir birinden ayırmak için | (PipeLine) işaretini kullanmaktayız. Yazılan bu komutlar Soldan Sağa doğru sıralı bir şekilde çalıştırılmaktadır. Çalıştırılan bu komutlardan elde edilen OutPut (Çıktı) bilgileri PipeLine da bulunan bir sonraki Kod satırına aktarılır ve o kodun işlevine göre işlemler yapılır. PipeLine kendi içinde Single-Command ve Multiple-Command olmak üzere ikiye ayrılırlar. Örneklerimde Multiple-Command üzerinden ilerleyeceğim.

> Get-Service | Out-File C:\Service\Liste.txt
Bu kod ile Get-Service komutundan gelen Output (Çıktı) bilgileri, Out-File komutu ile yolunu vermiş olduğumuz dosyanın içerisine yazılacaktır.

PipeLine ile Sıralama işlemi :

> Get-Process | Sort-Object -Property ProcessName -Descending
Get-Process
ile alınan  işlemlerin listesini Sort-Object ile ProcessName kolonuna göre Z‘den A‘ya olacak şekilde sıralayacaktır. Bu kod içerisinde -Descending yazmazsanız varsayılan olara Ascending (A’dan Z’ye) olarak sıralayacaktır.

> Get-Process | Sort-Object -Property ProcessName,Id
Bu komut ile ilk olarak A‘dan Z‘ye doğru ProcessName ile sıralayacak daha sonra Küçükten Büyüğe Id‘lerinden sıralama yapılacaktır. Varsayılan olarak Ascending‘i kullanacaktır.

PipeLine ile Seçme İşlemi :

> Get-Process | Select-Object -First 15
Get-Process ile işlemlerin listesi alınarak Select-Object komutu ile bu listede bulunan ilk 15 kayıtı ekrana seçip getireceklerdir. -First yerine -Last olarak yazmanız durumunda ise bu alınan işlem listesinde bulunan Son 15 kayıt ekrana getirilecektir.

> Get-Process | Select-Object -First 15 -Skip 3
Yazmanız durumunda ise bu alınan listenin ilk 3 kayıtını ekrana getirmeyecek daha sonrasında bulunan 15 kayıtı listeleyecektir.

> Get-Process | Select-Object *
* (Yıldız)
ile çalıştırmanız durumunda İşlemler listesinde bulunan her bir işlem için ayrıntılı olarak ekrana çıktı verecektir. Ancak bu alanlardan bazılarını görmek istiyorsanız * (Yıldız) yerine Name, Id gibi istediğiniz kolonun adını girerek sadece onlarda bulunan çıktı bilgisini alabilirsiniz.

> Get-Process | Select-Object -ExpandProperty Name
Bu kod ile sadece Name alanı çekilmekte ancak -ExpandProperty özelliği ile Kolon Başlığını almadan değerleri çekmemizi sağlamaktadır.

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

Bir Cevap Yazın