PowerShell Filtresi | Farklı PowerShell Filtresi Türlerine İlişkin Kılavuz


PowerShell'de Filtrelemeye Giriş

Filtreleme, bir cmdlet'in veya bir ifadenin çıktısını belirli koşullara göre kısıtlama işlemini ifade eder. Bu, sonuçların optimize edilmesine yardımcı olur ve kullanıcı, sonuçların bereketinden ne istediğini görebilecek. Bu, PowerShell'de Where-object cmdlet'inin yardımıyla gerçekleştirilir. Nesnenin koleksiyondaki koşulla eşleşen nesneleri seçeceği yer. Where nesneleri iki şekilde kullanılabilir; kod bloğu kullanılarak veya koşullu ifadeler kullanılarak. Bu makalede PowerShell'de bulunan çeşitli filtreler ayrıntılı olarak ele alınacaktır.

Sözdizimi

Koşulun bulunduğu komut dosyası bloğunun sözdizimi aşağıdadır

Where-Object[-InputObject <PSObject>][-FilterScript] <ScriptBlock>[<CommonParameters>]

VEYA

Get-Process | Where-Object {$_.Id -eq 5940}

Koşul operatörünün sözdizimi aşağıdadır:

Where-Object[-InputObject <PSObject>][-Property] <String>[[-Value] <Object>][-Comparison Operator][<CommonParameters>]

VEYA

Get-Process | Where-Object ID -eq 5940

Bir cmdlet için mevcut olan özelliklerin listesini almak amacıyla, Format-List cmdlet'i mevcut özellikleri listelemek üzere ilgili cmdlet'e aktarılabilir.

Koleksiyondan yalnızca bir avuç nesne seçmek için Select-Object cmdlet'i kullanılabilir.

VEYA

Get-Process | Select-Object -First 5

Yukarıdaki cmdlet yalnızca ilk beş işlemi gösterecektir.

Farklı Filtre Türleri

Farklı türleri ve kullanımları:

İçerir

Sorunun özellik saygısı dahilinde herhangi bir şeyin istenen değer için tam bir koordinat olması durumunda bunun nesneleri aldığını gösterir. Özellik saygısı tek bir soru içeriyorsa PowerShell, bu soruyu tek bir nesne koleksiyonuna dönüştürür. Bu parametre Windows PowerShell 3,0'da sunulmuştur. Veri türü switch parametresidir. Hiçbiri varsayılan saygı değildir. İçerir takma adı ile anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

Denklem

Bu, koleksiyondaki özellik değeri verilen değerle aynı olan nesneleri döndürecektir. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. IEQ takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

FilterScript

Bu, filtreleme için kullanılması gereken komut dosyası bloğunu belirtir. Betik bloğu ({}) içine alınır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

GE

Bu, koleksiyondaki özellik değeri verilen değerden büyük veya ona eşit olan nesneleri döndürür. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. IGE takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

GT

Bu, koleksiyondaki özellik değeri verilen değerden büyük olan nesneleri döndürür. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. IGT takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

İçinde

Bu, değerleri belirtilen değerlerden biri olan nesneleri döndürecektir. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. IIn takma adıyla anılır. Pipeline girişi kabul edilmez ve joker karakterlere de izin verilmez.

öyle mi

Bu, veri türü belirtilen değerle aynı olan nesneleri döndürecektir. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

IsNot

Bu, Is'ın tam tersidir. Bu, belirtilen türle eşleşmeyen nesneleri döndürecektir. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

LE

Bu, koleksiyondaki özellik değeri verilen değerden küçük veya ona eşit olan nesneleri döndürür. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. ILE takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

LT

Bu, koleksiyondaki özellik değeri verilen değerden küçük olan nesneleri döndürür. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. ILT takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

Beğenmek

Bu, joker karakter koşulunu karşılayan nesneleri döndürür. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. ILike takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

Kibrit

Bu, normal ifadeyi karşılayan nesneleri döndürür. Parametrenin veri tipi switch parametresidir. Hiçbiri varsayılan saygı değildir. IMatch takma adıyla anılır. Ardışık düzen girişi kabul edilmez ve joker karakterlere de izin verilmez.

PowerShell Filtresini Uygulama Örneği

Bahsedilen örnek aşağıdadır:

Örnek #1

Kod:

Write-Host "Welcome to filtering example"
Write-Host "Demo of contains example"
$names = 'vignesh','nandhini','vyapini','vijay','sethu'
$names -contains 'vignesh'
Write-Host "Match is found"
$age=19
Write-Host "Demo of eq operator"
$ee= Read-Host "Enter age"
if($ee -eq $age)
{
Write-Host "age matches"
}
else
{
Write-Host "doesnt match"
}
Write-Host "greater than or greater than equal to example"
$ee= Read-Host "enter a number"
if(($ee -ge 100) -and ($ee -le 200))
{
Write-Host "entered no is greater than or equal to 100 and less than or equal to 200"
}
elseif(($ee -gt 200) -and ($ee -lt 300))
{
Write-Host "entered no is greater than 200 and less than 300"
}
else
{
Write-Host "entered no is greater than 300"
}
Write-Host "example of in"
$val= "aa","bb","cc"
Write-Host "enter a value"
$tt= Read-Host "enter a value"
if($tt -in $val)
{
Write-Host "value in matched"
}
else
{
Write-Host "no match"
}

Çıktı:

Çözüm

Böylece makalede PowerShell'deki filtreleme işlemleri ayrıntılı olarak ele alınmıştır. Filtreleme için mevcut olan çeşitli operatörlerin uygun örnekleriyle kaplıdır. Daha ayrıntılı bilgi edinmek için örnek komut dosyaları yazmanız ve bunları uygulamanız önerilir.

İlgili makaleler