Where-Object
Bir koleksiyondaki nesneleri özellik değerlerine göre seçer.
Sözdizimi
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-EQ]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-FilterScript] <ScriptBlock>
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Match
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CEQ
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Like
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Contains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-In
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Is
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-IsNot
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
-Not
[<CommonParameters>]
Description
Where-Object
cmdlet'i, ona geçirilen nesnelerin koleksiyonundan belirli özellik değerlerine sahip nesneleri seçer. Örneğin, Where-Object
cmdlet'ini kullanarak belirli bir tarihten sonra oluşturulan dosyaları, belirli bir kimliği olan olayları veya belirli bir Windows sürümünü kullanan bilgisayarları seçebilirsiniz.
Windows PowerShell 3.0'dan başlayarak, Where-Object
komutu oluşturmanın iki farklı yolu vardır.
Betik bloğu söz dizimi. Özellik adını, karşılaştırma işlecini ve özellik değerini belirtmek için bir betik bloğu kullanabilirsiniz.
Where-Object
, betik bloğu deyiminin true olduğu tüm nesneleri döndürür.Örneğin, aşağıdaki komut PriorityClass özelliğinin değerinin eşit
Normal
olduğu işlemleri alır.Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Tüm PowerShell karşılaştırma işleçleri betik bloğu biçiminde geçerlidir. Daha fazla bilgi için bkz. about_Comparison_Operators.
Basitleştirilmiş söz dizimi. Basitleştirilmiş söz dizimini etkinleştirmek için karşılaştırma
Where-Object
işleçlerini temsil eden 31 anahtar parametresi içerir. Basitleştirilmiş söz dizimini okumak ve yazmak, betik bloğu söz diziminden daha kolaydır. Anahtar parametrelerinden birini Özellik ve Değer parametreleriyle birleştirerek, nesneleri özelliklerinin değerlerine göre filtreleyen bir komut oluşturabilirsiniz.Örneğin, aşağıdaki komutlar öncelik sınıfı
Normal
olan işlemleri de alır. Bu komutlar eşdeğerdir ve bunları birbirinin yerine kullanabilirsiniz.Get-Process | Where-Object -Property PriorityClass -Value Normal -EQ
Get-Process | Where-Object PriorityClass -EQ Normal
Örnekte gösterildiği gibi Özellik ve Değer parametre adları isteğe bağlıdır. Property parametresi, konumuna eşlenmiş bir konumsal
0
parametredir. Value parametresi, konumuna eşlenmiş bir konumsal1
parametredir. Karşılaştırmayı belirtmek için kullanılan switch parametresi herhangi bir konumda kullanılabilir.Basitleştirilmiş söz dizimi Windows PowerShell 3.0'da kullanıma sunulmuştur. Daha fazla bilgi için bkz. about_Simplified_Syntax.
için tek bir Where-Object
sağladığınızda, cmdlet özelliğin değerini boole ifadesi olarak değerlendirir. Özelliğin Uzunluğu değerinin sıfır olmadığı durumlarda ifade olarak $true
değerlendirilir. Örneğin: ('hi', '', 'there') | Where-Object Length
Önceki örnek işlevsel olarak aşağıdakilere eşdeğerdir:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object { $_.Length -gt 0 }
PowerShell'in boole değerlerini nasıl değerlendirdiğini hakkında daha fazla bilgi için bkz. about_Booleans.
Örnekler
Örnek 1: Durdurulan hizmetleri alma
Bu komutlar durdurulan tüm hizmetlerin listesini alır.
$_
otomatik değişkeni, Where-Object
cmdlet'ine geçirilen her nesneyi temsil eder.
İlk komut betik bloğu biçimini, ikinci komut ise karşılaştırma deyimi biçimini kullanır. Komutlar hizmetleri aynı şekilde filtreler ve aynı çıkışı döndürür. Yalnızca söz dizimi farklıdır.
Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"
Örnek 2: Çalışma kümesini temel alan işlemleri alma
Bu komutlar, 250 megabayttan (MB) büyük bir çalışma kümesine sahip işlemleri listeler. Komutlar işlemleri aynı şekilde filtreler ve aynı çıkışı döndürür. Yalnızca söz dizimi farklıdır.
Get-Process | Where-Object { $_.WorkingSet -gt 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB
Örnek 3: İşlem adına göre işlemleri alma
Bu komutlar, harfiyle başlayan p
özellik değerine sahip işlemleri alır.
-match
işleci ve Eşleştir parametresi normal ifade eşleşmelerini kullanmanıza olanak sağlar.
Komutlar işlemleri aynı şekilde filtreler ve aynı çıkışı döndürür. Yalnızca söz dizimi farklıdır.
Get-Process | Where-Object { $_.ProcessName -match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"
Örnek 4: Karşılaştırma deyimi biçimini kullanma
Bu örnekte, Where-Object
cmdlet'in yeni karşılaştırma deyimi biçiminin nasıl kullanılacağı gösterilmektedir.
İlk komut karşılaştırma deyimi biçimini kullanır. Herhangi bir diğer ad kullanmaz ve her parametrenin adını içerir.
İkinci komut, karşılaştırma komut biçiminin daha doğal kullanımıdır. komut, where
cmdlet adı için Where-Object
diğer adıyla değiştirilir ve isteğe bağlı tüm parametre adlarını atlar.
Komutlar işlemleri aynı şekilde filtreler ve aynı çıkışı döndürür. Yalnızca söz dizimi farklıdır.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Örnek 5: Özelliklere göre komutları alma
Bu örnek, true veya false olan veya belirtilen özellik için herhangi bir değere sahip öğeleri döndüren komutların nasıl yazıldığını gösterir. Her örnek, komut için hem betik bloğunu hem de karşılaştırma deyimi biçimlerini gösterir.
Komutlar girişlerini aynı şekilde filtreler ve aynı çıkışı döndürür. Yalnızca söz dizimi farklıdır.
# Use Where-Object to get commands that have any value for the OutputType
# property of the command. This omits commands that do not have an OutputType
# property and those that have an OutputType property, but no property value.
Get-Command | Where-Object OutputType
Get-Command | Where-Object { $_.OutputType }
# Use Where-Object to get objects that are containers. This gets objects that
# have the **PSIsContainer** property with a value of $true and excludes all
# others.
Get-ChildItem | Where-Object PSIsContainer
Get-ChildItem | Where-Object { $_.PSIsContainer }
# Finally, use the -not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those
# that have a value of $false for the **PSIsContainer** property.
Get-ChildItem | Where-Object -Not PSIsContainer
Get-ChildItem | Where-Object { !$_.PSIsContainer }
Örnek 6: Birden çok koşul kullanma
Get-Module -ListAvailable | Where-Object {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
Bu örnekte, birden çok koşula sahip bir Where-Object
komutunun nasıl oluşturulacağı gösterilmektedir.
Bu komut Güncelleştirilebilir Yardım özelliğini destekleyen çekirdek olmayan modülleri alır. Komut, bilgisayardaki tüm modülleri almak için cmdlet'in Get-Module
parametresini kullanır. İşlem hattı işleci (|
), modülleri cmdlet'ine Where-Object
gönderir. Bu, adları veya Microsoft
ile PS
başlamayan modülleri alır ve PowerShell'e modülün güncelleştirilmiş yardım dosyalarını nerede bulacağını bildiren HelpInfoURI özelliği için bir değere sahiptir.
-and
mantıksal işleci karşılaştırma deyimlerini bağlar.
Örnek, betik bloğu komut biçimini kullanır.
-and
,-or
ve -not
gibi mantıksal işleçler yalnızca betik bloklarında geçerlidir. Bunları bir Where-Object
komutunun karşılaştırma deyimi biçiminde kullanamazsınız.
- PowerShell mantıksal işleçleri hakkında daha fazla bilgi için bkz. about_Logical_Operators.
- Güncelleştirilebilir Yardım özelliği hakkında daha fazla bilgi için bkz. about_Updatable_Help.
Parametreler
-CContains
Nesnenin özellik değeri belirtilen değerle tam olarak eşleşiyorsa, bu cmdlet'in bir koleksiyondan nesne aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Örneğin: Get-Process | Where-Object ProcessName -CContains "svchost"
CContains bir değer koleksiyonuna başvurur ve koleksiyon belirtilen değerle tam olarak eşleşen bir öğe içeriyorsa true olur. Giriş tek bir nesneyse, PowerShell bunu bir nesne koleksiyonuna dönüştürür.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CEQ
Özellik değeri belirtilen değerle aynıysa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CGE
Özellik değeri belirtilen değerden büyük veya buna eşitse bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CGT
Özellik değeri belirtilen değerden büyükse bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CIn
Özellik değeri belirtilen değeri içeriyorsa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Örneğin: Get-Process | Where-Object -Value "svchost" -CIn ProcessName
CIn , özellik ve değer konumlarının ters çevrilmesi dışında CContains'e benzer. Örneğin, aşağıdaki deyimlerin her ikisi de doğrudur.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CLE
Özellik değeri belirtilen değerden küçük veya buna eşitse bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CLike
Özellik değeri joker karakterler (*
) içeren bir değerle eşleşiyorsa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Örneğin: Get-Process | Where-Object ProcessName -CLike "*host"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CLT
Özellik değeri belirtilen değerden küçükse bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CMatch
Özellik değeri belirtilen normal ifadeyle eşleşiyorsa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır. Giriş tek bir nesne olduğunda, eşleşen değer $Matches
otomatik değişkenine kaydedilir.
Örneğin: Get-Process | Where-Object ProcessName -CMatch "Shell"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CNE
Özellik değeri belirtilen değerden farklıysa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CNotContains
Nesnenin özellik değeri belirtilen değerle tam olarak eşleşmediyse, bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Örneğin: Get-Process | Where-Object ProcessName -CNotContains "svchost"
NotContains ve CNotContains bir değer koleksiyonuna başvurur ve koleksiyon, belirtilen değerle tam olarak eşleşen herhangi bir öğe içermediğinde true olur. Giriş tek bir nesneyse, PowerShell bunu bir nesne koleksiyonuna dönüştürür.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CNotIn
Özellik değeri belirtilen değerle tam olarak eşleşmediyse bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Örneğin: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName
NotIn ve CNotIn işleçleri, özellik ve değer konumlarının ters çevrilmesi dışında NotContains ve CNotContains'e benzer. Örneğin, aşağıdaki deyimler doğrudur.
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CNotLike
Özellik değeri joker karakter içeren bir değerle eşleşmiyorsa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır.
Örneğin: Get-Process | Where-Object ProcessName -CNotLike "*host"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-CNotMatch
Özellik değeri belirtilen normal ifadeyle eşleşmiyorsa bu cmdlet'in nesneleri aldığını gösterir. Bu işlem büyük/küçük harfe duyarlıdır. Giriş tek bir nesne olduğunda, eşleşen değer $Matches
otomatik değişkenine kaydedilir.
Örneğin: Get-Process | Where-Object ProcessName -CNotMatch "Shell"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Contains
Nesnenin özellik değerindeki herhangi bir öğe belirtilen değerle tam olarak eşleşiyorsa, bu cmdlet'in nesneleri aldığını gösterir.
Örneğin: Get-Process | Where-Object ProcessName -Contains "Svchost"
Giriş tek bir nesneyse, PowerShell bunu bir nesne koleksiyonuna dönüştürür.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | IContains |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-EQ
Özellik değeri belirtilen değerle aynıysa bu cmdlet'in nesneleri aldığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | IEQ |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-FilterScript
Nesneleri filtrelemek için kullanılan betik bloğunu belirtir. Betik bloğunu ayraç içine alın ({}
).
FilterScript parametre adı isteğe bağlıdır.
Tür: | ScriptBlock |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-GE
Özellik değeri belirtilen değerden büyük veya buna eşitse bu cmdlet'in nesneleri aldığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | IGE |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-GT
Özellik değeri belirtilen değerden büyükse bu cmdlet'in nesneleri aldığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | IGT |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-In
Özellik değeri belirtilen değerlerden herhangi biri ile eşleşiyorsa bu cmdlet'in nesneleri aldığını gösterir. Mesela:
Get-Process | Where-Object -Property ProcessName -In -Value "Svchost", "TaskHost", "WsmProvHost"
Giriş tek bir nesneyse, PowerShell bunu bir nesne koleksiyonuna dönüştürür.
Bir nesnenin özellik değeri bir diziyse, PowerShell eşleşmeyi belirlemek için başvuru eşitliğini kullanır.
Where-Object
nesnesini yalnızca Property parametresinin değeri ve Herhangi bir Value değeri bir nesnenin aynı örneğiyse döndürür.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | IIn |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InputObject
Filtre eklenecek nesneleri belirtir. Nesneleri Where-Object
'e de yöneltebilirsiniz.
komut sonuçlarının yerine ile Where-Object
Where-Object
parametresini kullandığınızda, cmdlet InputObject'i tek bir nesne olarak değerlendirir. Değer, -InputObject (Get-Process)
gibi bir komutun sonucu olan bir koleksiyon olsa bile bu doğrudur.
InputObject bir diziden veya nesne koleksiyonundan tek tek özellikleri döndüremediğinden, tanımlı özelliklerde belirli değerlere sahip nesneler için bir nesne koleksiyonunu filtrelemek için kullanırsanızWhere-Object
, bu konudaki örneklerde gösterildiği gibi işlem hattında kullanmanızı Where-Object
öneririz.
Tür: | PSObject |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Is
Özellik değeri belirtilen .NET türünün bir örneğiyse bu cmdlet'in nesneleri aldığını gösterir. Tür adını köşeli ayraç içine alın.
Örneğin, Get-Process | Where-Object StartTime -Is [datetime]
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-IsNot
Özellik değeri belirtilen .NET türünün bir örneği değilse bu cmdlet'in nesneleri aldığını gösterir.
Örneğin, Get-Process | where StartTime -IsNot [datetime]
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-LE
Özellik değeri belirtilen değerden küçük veya buna eşitse bu cmdlet'in nesneleri aldığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | ILE |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Like
Özellik değeri joker karakterler (*
) içeren bir değerle eşleşiyorsa bu cmdlet'in nesneleri aldığını gösterir.
Örneğin: Get-Process | Where-Object ProcessName -Like "*host"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | ILike |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-LT
Özellik değeri belirtilen değerden küçükse bu cmdlet'in nesneleri aldığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | ILT |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Match
Özellik değeri belirtilen normal ifadeyle eşleşiyorsa bu cmdlet'in nesneleri aldığını gösterir. Giriş tek bir nesne olduğunda, eşleşen değer $Matches
otomatik değişkenine kaydedilir.
Örneğin: Get-Process | Where-Object ProcessName -Match "shell"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | IMatch |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-NE
Özellik değeri belirtilen değerden farklıysa bu cmdlet'in nesneleri aldığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | INE |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Not
Özelliği yoksa veya $null
veya $false
değerine sahipse bu cmdlet'in nesneleri aldığını gösterir.
Örneğin: Get-Service | Where-Object -Not "DependentServices"
Bu parametre Windows PowerShell 6.1'de kullanıma sunulmuştur.
Tür: | SwitchParameter |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-NotContains
Özellik değerindeki öğelerin hiçbiri belirtilen değerle tam eşleşmediyse, bu cmdlet'in nesneleri aldığını gösterir.
Örneğin: Get-Process | Where-Object ProcessName -NotContains "Svchost"
NotContains bir değer koleksiyonuna başvurur ve koleksiyon, belirtilen değerle tam olarak eşleşen herhangi bir öğe içermiyorsa true olur. Giriş tek bir nesneyse, PowerShell bunu bir nesne koleksiyonuna dönüştürür.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | INotContains |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-NotIn
Özellik değeri belirtilen değerlerden herhangi biriyle tam olarak eşleşmediyse bu cmdlet'in nesneleri aldığını gösterir.
Örneğin: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName
Value değeri tek bir nesneyse, PowerShell bunu bir nesne koleksiyonuna dönüştürür.
Bir nesnenin özellik değeri bir diziyse, PowerShell eşleşmeyi belirlemek için başvuru eşitliğini kullanır.
Where-Object
nesnesini yalnızca Property değeri ve Value değerlerinin bir nesnenin aynı örneği değilse döndürür.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | INotIn |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-NotLike
Özellik değeri joker karakter (*
) içeren bir değerle eşleşmiyorsa bu cmdlet'in nesneleri aldığını gösterir.
Örneğin: Get-Process | Where-Object ProcessName -NotLike "*host"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | INotLike |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-NotMatch
Özellik değeri belirtilen normal ifadeyle eşleşmediğinde bu cmdlet'in nesneleri aldığını gösterir. Giriş tek bir nesne olduğunda, eşleşen değer $Matches
otomatik değişkenine kaydedilir.
Örneğin: Get-Process | Where-Object ProcessName -NotMatch "powershell"
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | SwitchParameter |
Diğer adlar: | INotMatch |
Position: | Named |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Property
Giriş nesnesinin özelliğinin adını belirtir. Özelliğin statik özellik değil örnek özelliği olması gerekir. Bu konumsal bir parametre olduğundan , Özellik adı isteğe bağlıdır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | String |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Value
Bir özellik değeri belirtir. değer parametre adı isteğe bağlıdır. Bu parametre, aşağıdaki karşılaştırma parametreleriyle kullanıldığında joker karakterleri kabul eder:
- CLike
- CNotLike (CNotBeğen)
- Gibi
- Beğenmeyen
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Tür: | PSObject |
Position: | 1 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | True |
Girişler
Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Bu cmdlet, giriş nesnesi kümesinden seçilen öğeleri döndürür.
Notlar
PowerShell, Where-Object
için aşağıdaki diğer adları içerir:
- Tüm Platformlar:
?
where
Windows PowerShell 4.0'dan başlayarak koleksiyonlarla kullanılmak üzere Where
ve ForEach
yöntemleri eklendi.
Bu yöntemler hakkında daha fazla bilgiyi burada about_Arrays