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.