Where-Object

Memilih objek dari koleksi berdasarkan nilai propertinya.

Sintaks

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>]

Deskripsi

Where-Object Cmdlet memilih objek yang memiliki nilai properti tertentu dari kumpulan objek yang diteruskan ke objek tersebut. Misalnya, Anda dapat menggunakan Where-Object cmdlet untuk memilih file yang dibuat setelah tanggal tertentu, peristiwa dengan ID tertentu, atau komputer yang menggunakan versi Windows tertentu.

Mulai dari Windows PowerShell 3.0, ada dua cara berbeda untuk membuat Where-Object perintah.

  • Blok skrip. Anda dapat menggunakan blok skrip untuk menentukan nama properti, operator perbandingan, dan nilai properti. Where-Object mengembalikan semua objek yang pernyataan blok skripnya benar.

    Misalnya, perintah berikut mendapatkan proses di Normal kelas prioritas, yaitu, proses di mana nilai properti PriorityClassNormalsama dengan .

    Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}

    Semua operator perbandingan PowerShell valid dalam format blok skrip. Untuk informasi selengkapnya, lihat about_Comparison_Operators.

  • Pernyataan perbandingan. Anda juga dapat menulis pernyataan perbandingan, yang jauh lebih seperti bahasa alami. Pernyataan perbandingan diperkenalkan dalam Windows PowerShell 3.0.

    Misalnya, perintah berikut juga mendapatkan proses yang memiliki kelas Normalprioritas . Perintah ini setara dan dapat digunakan secara bergantian.

    Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"

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

    Mulai dari Windows PowerShell 3.0, Where-Object menambahkan operator perbandingan sebagai parameter dalam Where-Object perintah. Kecuali ditentukan, semua operator tidak peka huruf besar/kecil. Sebelum Windows PowerShell 3.0, operator perbandingan dalam bahasa PowerShell hanya dapat digunakan dalam blok skrip.

Saat Anda memberikan satu Properti ke Where-Object, nilai properti diperlakukan sebagai ekspresi boolean. Ketika nilai Panjang bukan nol, ekspresi mengevaluasi ke $true. Misalnya: ('hi', '', 'there') | Where-Object Length

Contoh sebelumnya secara fungsional setara dengan:

  • ('hi', '', 'there') | Where-Object Length -GT 0
  • ('hi', '', 'there') | Where-Object {$_.Length -gt 0}

Untuk informasi selengkapnya tentang bagaimana boolean dievaluasi, lihat about_Booleans.

Contoh

Contoh 1: Dapatkan layanan yang dihentikan

Perintah ini mendapatkan daftar semua layanan yang saat ini dihentikan. Variabel $_ otomatis mewakili setiap objek yang diteruskan ke Where-Object cmdlet.

Perintah pertama menggunakan format blok skrip, perintah kedua menggunakan format pernyataan perbandingan. Perintah setara dan dapat digunakan secara bergantian.

Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"

Contoh 2: Mendapatkan proses berdasarkan set kerja

Perintah ini mencantumkan proses yang memiliki set kerja yang lebih besar dari 250 megabyte (MB). Blok skrip dan sintaks pernyataan setara dan dapat digunakan secara bergantian.

Get-Process | Where-Object {$_.WorkingSet -GT 250MB}
Get-Process | Where-Object WorkingSet -GT (250MB)

Contoh 3: Mendapatkan proses berdasarkan nama proses

Perintah ini mendapatkan proses yang memiliki nilai properti ProcessName yang dimulai dengan huruf p. Operator Match memungkinkan Anda menggunakan kecocokan ekspresi reguler.

Blok skrip dan sintaks pernyataan setara dan dapat digunakan secara bergantian.

Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}
Get-Process | Where-Object ProcessName -Match "^p.*"

Contoh 4: Gunakan format pernyataan perbandingan

Contoh ini menunjukkan cara menggunakan format pernyataan perbandingan baru cmdlet Where-Object .

Perintah pertama menggunakan format pernyataan perbandingan. Dalam perintah ini, tidak ada alias yang digunakan dan semua parameter menyertakan nama parameter.

Perintah kedua adalah penggunaan format perintah perbandingan yang lebih alami. where Alias diganti untuk Where-Object nama cmdlet dan semua nama parameter opsional dihilangkan.

Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000

Contoh 5: Dapatkan perintah berdasarkan properti

Contoh ini menunjukkan cara menulis perintah yang mengembalikan item yang benar atau salah atau memiliki nilai apa pun untuk properti tertentu. Setiap contoh menunjukkan format blok skrip dan pernyataan perbandingan untuk perintah.

# 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 OutputType
Get-Command | where {$_.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 PSIsContainer
Get-ChildItem | where {$_.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 {!$_.PSIsContainer}
# You cannot use the Not operator (!) in the comparison statement format of the command.
Get-ChildItem | where PSIsContainer -eq $False

Contoh 6: Menggunakan beberapa kondisi

Get-Module -ListAvailable | where {
    ($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}

Contoh ini menunjukkan cara membuat Where-Object perintah dengan beberapa kondisi.

Perintah ini mendapatkan modul non-inti yang mendukung fitur Bantuan yang Dapat Diperbarui. Perintah menggunakan parameter ListAvailable cmdlet Get-Module untuk mendapatkan semua modul di komputer. Operator alur (|) mengirim modul ke Where-Object cmdlet, yang mendapatkan modul yang namanya tidak dimulai dengan Microsoft atau PS, dan memiliki nilai untuk properti HelpInfoURI , yang memberi tahu PowerShell tempat menemukan file bantuan yang diperbarui untuk modul. Pernyataan perbandingan disambungkan oleh operator logis Dan .

Contohnya menggunakan format perintah blok skrip. Operator logika, seperti And dan Or, hanya valid dalam blok skrip. Anda tidak dapat menggunakannya dalam format pernyataan perbandingan Where-Object perintah.

Parameter

-CContains

Menunjukkan bahwa cmdlet ini mendapatkan objek dari koleksi jika nilai properti objek sama persis dengan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Misalnya: Get-Process | where ProcessName -CContains "svchost"

CContains mengacu pada kumpulan nilai dan benar jika koleksi berisi item yang sama persis dengan nilai yang ditentukan. Jika input adalah objek tunggal, PowerShell mengonversinya menjadi kumpulan satu objek.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CEQ

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti sama dengan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CGE

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti lebih besar dari atau sama dengan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CGT

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti lebih besar dari nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CIn

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti menyertakan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Misalnya: Get-Process | where -Value "svchost" -CIn ProcessName

CInmenyerupai CContains, kecuali bahwa posisi properti dan nilai dibalik. Misalnya, pernyataan berikut keduanya benar.

"abc", "def" -CContains "abc"

"abc" -CIn "abc", "def"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CLE

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti kurang dari atau sama dengan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CLike

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti cocok dengan nilai yang menyertakan karakter kartubebas (*). Operasi ini peka huruf besar/kecil.

Misalnya: Get-Process | where ProcessName -CLike "*host"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CLT

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti kurang dari nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CMatch

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti cocok dengan ekspresi reguler yang ditentukan. Operasi ini peka huruf besar/kecil. Ketika input bernilai skalar, nilai yang cocok disimpan dalam $Matches variabel otomatis.

Misalnya: Get-Process | where ProcessName -CMatch "Shell"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CNE

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti berbeda dari nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CNotContains

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti objek tidak sama persis dengan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Misalnya: Get-Process | where ProcessName -CNotContains "svchost"

NotContains dan CNotContains mengacu pada kumpulan nilai dan benar ketika koleksi tidak berisi item yang sama persis dengan nilai yang ditentukan. Jika input adalah objek tunggal, PowerShell mengonversinya menjadi kumpulan satu objek.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CNotIn

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti tidak sama persis dengan nilai yang ditentukan. Operasi ini peka huruf besar/kecil.

Misalnya: Get-Process | where -Value "svchost" -CNotIn -Property ProcessName

Operator NotIn dan CNotIn menyerupai NotContains dan CNotContains, kecuali bahwa posisi properti dan nilai dibalik. Misalnya, pernyataan berikut ini benar.

"abc", "def" -CNotContains "Abc"

"abc" -CNotIn "Abc", "def"

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

-CNotLike

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti tidak cocok dengan nilai yang menyertakan karakter kartubebas. Operasi ini peka huruf besar/kecil.

Misalnya: Get-Process | where ProcessName -CNotLike "*host"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-CNotMatch

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti tidak cocok dengan ekspresi reguler yang ditentukan. Operasi ini peka huruf besar/kecil. Ketika input bernilai skalar, nilai yang cocok disimpan dalam $Matches variabel otomatis.

Misalnya: Get-Process | where ProcessName -CNotMatch "Shell"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-Contains

Menunjukkan bahwa cmdlet ini mendapatkan objek jika ada item dalam nilai properti objek yang sama persis dengan nilai yang ditentukan.

Misalnya: Get-Process | where ProcessName -Contains "Svchost"

Jika nilai properti berisi satu objek, PowerShell mengonversinya menjadi kumpulan satu objek.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IContains
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-EQ

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti sama dengan nilai yang ditentukan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IEQ
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-FilterScript

Menentukan blok skrip yang digunakan untuk memfilter objek. Sertakan blok skrip dalam kurung kurawal ({}).

Nama parameter, FilterScript, bersifat opsional.

Type:ScriptBlock
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-GE

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti lebih besar dari atau sama dengan nilai yang ditentukan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IGE
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-GT

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti lebih besar dari nilai yang ditentukan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-In

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti cocok dengan salah satu nilai yang ditentukan. Contohnya:

Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"

Jika nilai parameter Nilai adalah objek tunggal, PowerShell mengonversinya menjadi kumpulan satu objek.

Jika nilai properti objek adalah array, PowerShell menggunakan kesetaraan referensi untuk menentukan kecocokan. Where-Object mengembalikan objek hanya jika nilai parameter Properti dan nilai Nilai apa pun adalah instans objek yang sama.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-InputObject

Menentukan objek yang akan difilter. Anda juga dapat menyalurkan objek ke Where-Object.

Saat Anda menggunakan parameter InputObject dengan Where-Object, alih-alih mempipa hasil perintah ke Where-Object, nilai InputObject diperlakukan sebagai objek tunggal. Ini benar meskipun nilainya adalah koleksi yang merupakan hasil dari perintah, seperti -InputObject (Get-Process). Karena InputObject tidak dapat mengembalikan properti individual dari array atau kumpulan objek, kami sarankan, jika Anda menggunakan Where-Object untuk memfilter kumpulan objek untuk objek yang memiliki nilai tertentu dalam properti yang ditentukan, Anda gunakan Where-Object dalam alur, seperti yang ditunjukkan dalam contoh dalam topik ini.

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

-Is

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti adalah instans dari jenis .NET yang ditentukan. Sertakan nama jenis dalam tanda kurung siku.

Misalnya, Get-Process | where StartTime -Is [DateTime]

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-IsNot

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti bukan instans dari jenis .NET yang ditentukan.

Misalnya, Get-Process | where StartTime -IsNot [DateTime]

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-LE

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti kurang dari atau sama dengan nilai yang ditentukan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-Like

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti cocok dengan nilai yang menyertakan karakter kartubebas (*).

Misalnya: Get-Process | where ProcessName -Like "*host"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:ILike
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-LT

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti kurang dari nilai yang ditentukan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:ILT
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Match

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti cocok dengan ekspresi reguler yang ditentukan. Ketika input bernilai skalar, nilai yang cocok disimpan dalam $Matches variabel otomatis.

Misalnya: Get-Process | where ProcessName -Match "shell"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:IMatch
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-NE

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti berbeda dari nilai yang ditentukan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-Not

Menunjukkan bahwa cmdlet ini mendapatkan objek jika properti tidak ada atau memiliki nilai $null atau $false.

Misalnya: Get-Service | where -Not "DependentServices"

Parameter ini diperkenalkan dalam Windows PowerShell 6.1.

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

-NotContains

Menunjukkan bahwa cmdlet ini mendapatkan objek jika tidak ada item dalam nilai properti yang sama persis dengan nilai yang ditentukan.

Misalnya: Get-Process | where ProcessName -NotContains "Svchost"

NotContains mengacu pada kumpulan nilai dan benar jika koleksi tidak berisi item apa pun yang sama persis dengan nilai yang ditentukan. Jika input adalah objek tunggal, PowerShell mengonversinya menjadi kumpulan satu objek.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotContains
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-NotIn

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti tidak sama persis dengan salah satu nilai yang ditentukan.

Misalnya: Get-Process | where -Value "svchost" -NotIn -Property ProcessName

Jika nilai Nilai adalah objek tunggal, PowerShell mengonversinya menjadi kumpulan satu objek.

Jika nilai properti objek adalah array, PowerShell menggunakan kesetaraan referensi untuk menentukan kecocokan. Where-Object mengembalikan objek hanya jika nilai Properti dan nilai Nilai apa pun bukan instans objek yang sama.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotIn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-NotLike

Menunjukkan bahwa cmdlet ini mendapatkan objek jika nilai properti tidak cocok dengan nilai yang menyertakan karakter kartubebas (*).

Misalnya: Get-Process | where ProcessName -NotLike "*host"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:INotLike
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-NotMatch

Menunjukkan bahwa cmdlet ini mendapatkan objek ketika nilai properti tidak cocok dengan ekspresi reguler yang ditentukan. Ketika input bernilai skalar, nilai yang cocok disimpan dalam $Matches variabel otomatis.

Misalnya: Get-Process | where ProcessName -NotMatch "PowerShell"

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-Property

Menentukan nama properti objek. Nama parameter, Properti, bersifat opsional.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

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

-Value

Menentukan nilai properti. Nama parameter, Nilai, bersifat opsional. Parameter ini menerima karakter kartubebas saat digunakan dengan parameter perbandingan berikut:

  • CLike
  • CNotLike
  • Suka
  • Tidak Seperti

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Type:Object
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

Input

PSObject

Anda dapat menyalurkan objek ke cmdlet ini.

Output

Object

Cmdlet ini mengembalikan item yang dipilih dari set objek input.

Catatan

Mulai dari Windows PowerShell 4.0, Where dan ForEach metode ditambahkan untuk digunakan dengan koleksi.

Anda dapat membaca selengkapnya tentang metode ini di sini about_arrays