Selamlar arkadaşlar bu makalemde sizlere Where kullanarak Basit ve Gelişmiş olarak filtreleme yaparken Karşılaştırma Operatörlerinden de nasıl yardım alacağımızı göstereceğim.
> Get-Service |
Where Status –EQ “Running”
Bu kod yardımı ile Get-Service
içerisinde Status durumu Running olan servisleri göreceğiz.
> Get-Service |
where Name –Like “*user*”
Bu kod yardımı ile ise Name alanı
içerisinde bulunan değerlerde user
geçen servisleri listeleyecektir.
Bu şekilde basit olarak filtreleme yaparbilirsiniz.
Eğer birden fazla kriter ile Filtreleme yapmak istiyorsanız Gelişmiş Filtrelemeyi kullanmalısınız.
> Get-Service |
Where-Object –FilterScript {$_.Status –EQ “Running”}
Bu kod yardımı ile Get-Service
ile alınan Servis bilgileri
içerisinde Statusleri “Running” olan Servisleri listeler.
> Get-Service |
Where {$_.Status –EQ “Running”}
Bu kod ise yukarıdaki kodun kısa
yazılımıdır. Aslında Where-Object
kodunun Alias’ı Where ve hatta sadece ?
(Soru İşareti)’dir. Burada önemli olan konu $_. İşaretidir. Bu işaret ile Pipe
işaretinden önceki komut sonucunda gelen tüm nesnelerin Status kolonundaki değerlere satır
satır bakacağı anlamına gelmektedir. Bu işaret yerine $PSItem değişkenini de kullanarak yapabilirsiniz.
> Get-Service | ?
{$_.Name –like “Wi*” –and $_.Status –eq “Running”}
Bu kod yardımı ile Get-Service den
alınan bilgilerde Name alanında Wi* ile başlayan değerleri ve Status alanında durumu Running olan değerleri satır satır
arayıp sonucu ekrana yazacaktır. Ayrıca karıştırmamak için bir altta gördüğünüz
üzere ($_.Name –like “Wi*”) olarak
her bir kodu ayrı bir paranteze alabilirsiniz. –and yerine –or
kullanarak ve yerine ya da kullanmış olur ve sorgularınızı bu şekilde genişletebilirsiniz.
Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.