Where-Object

Bir koleksiyondaki nesneleri özellik değerlerine göre seçer.

Syntax

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

cmdlet'i Where-Object , ona geçirilen nesnelerin koleksiyonundan belirli özellik değerlerine sahip nesneleri seçer. Örneğin, cmdlet'ini Where-Object 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, komut Where-Object oluşturmanın iki farklı yolu vardır.

  • Betik bloğu. Ö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 öncelik sınıfındaki Normal işlemleri alır, yani PriorityClass özelliğinin değerinin eşit olduğu işlemleri işlerNormal.

    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.

  • Karşılaştırma deyimi. Ayrıca, daha çok doğal dile benzeyen bir karşılaştırma deyimi de yazabilirsiniz. Karşılaştırma deyimleri Windows PowerShell 3.0'da kullanıma sunulmuştur.

    Ö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 -EQ -Value "Normal"

    Get-Process | Where-Object PriorityClass -EQ "Normal"

    Windows PowerShell 3.0'dan başlayarak, Where-Object bir komutta Where-Object karşılaştırma işleçlerini parametre olarak ekler. Belirtilmediği sürece, tüm işleçler büyük/küçük harfe duyarlı değildir. Windows PowerShell 3.0'ın öncesinde, PowerShell dilindeki karşılaştırma işleçleri yalnızca betik bloklarında kullanılabilirdi.

için Where-Objecttek bir Özellik 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şken, cmdlet'ine Where-Object 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 pbaşlayan bir ProcessName özellik değerine sahip olan işlemleri alır. Match işleci normal ifade eşleşmelerini kullanmanıza olanak tanır.

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, cmdlet'in yeni karşılaştırma deyimi biçiminin Where-Object 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, cmdlet adı için Where-Object diğer adın yerini alır where ve tüm isteğe bağlı 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 komutun 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 ListAvailable parametresini kullanır. İşlem hattı işleci (|), modülleri cmdlet'ine Where-Object gönderir. Bu, adları veya PSile Microsoft 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. Mantıksal -and işleç karşılaştırma deyimlerini bağlar.

Örnek, betik bloğu komut biçimini kullanır. gibi mantıksal işleçler -and-or-not yalnızca betik bloklarında geçerlidir. Bunları bir Where-Object komutun karşılaştırma deyimi biçiminde kullanamazsınız.

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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CLike

Özellik değeri joker karakter (*) 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 otomatik değişkene $Matches kaydedilir.

Örneğin: Get-Process | Where-Object ProcessName -CMatch "Shell"

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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"

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 otomatik değişkene $Matches kaydedilir.

Örneğin: Get-Process | Where-Object ProcessName -CNotMatch "Shell"

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:IContains
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:IEQ
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:ScriptBlock
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:IGE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:IGT
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-In

Özellik değeri belirtilen değerlerden herhangi biri ile eşleşiyorsa bu cmdlet'in nesneleri aldığını gösterir. Örneğin:

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-Objectnesnesini 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.

Type:SwitchParameter
Aliases:IIn
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Filtre eklenecek nesneleri belirtir. Nesneleri Where-Objectöğesine de yöneltebilirsiniz.

komut sonuçlarının yerine ile Where-ObjectInputObject parametresini kullandığınızda, cmdlet InputObject'i tek bir nesne olarak değerlendirir.Where-Object Değer gibi -InputObject (Get-Process)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.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:ILE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Like

Özellik değeri joker karakter (*) 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.

Type:SwitchParameter
Aliases:ILike
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:ILT
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 otomatik değişkene $Matches kaydedilir.

Örneğin: Get-Process | Where-Object ProcessName -Match "shell"

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Aliases:IMatch
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:INE
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Not

Özellik yoksa veya veya değerine sahipse bu cmdlet'in $null$falsenesneleri aldığını gösterir.

Örneğin: Get-Service | Where-Object -Not "DependentServices"

Bu parametre Windows PowerShell 6.1'de kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:INotContains
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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-Objectnesnesini 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.

Type:SwitchParameter
Aliases:INotIn
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:INotLike
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 otomatik değişkene $Matches kaydedilir.

Örneğin: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Aliases:INotMatch
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Property

Nesne özelliğinin adını belirtir. Özellik parametre adı isteğe bağlıdır.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

Bir özellik değeri belirtir. Parametre adı olan Value 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
  • Gibi
  • Beğenmeyen

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:PSObject
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 için aşağıdaki diğer adları Where-Objectiçerir:

  • Tüm Platformlar:
    • ?
    • where

Windows PowerShell 4.0'dan WhereForEach başlayarak koleksiyonlarla kullanılmak üzere yöntemler eklendi.

Bu yöntemler hakkında daha fazla bilgiyi burada about_arrays