Aracılığıyla paylaş


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 Normalolduğ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ı Normalolan 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 0parametredir. Value parametresi, konumuna eşlenmiş bir konumsal 1parametredir. 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 $truedeğ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 Microsoftile 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,-orve -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-ObjectWhere-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 $falsedeğ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

PSObject

Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

Object

Bu cmdlet, giriş nesnesi kümesinden seçilen öğeleri döndürür.

Notlar

PowerShell, Where-Objectiç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