Where-Object
Vybere objekty z kolekce na základě hodnot jejich vlastností.
Syntaxe
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
Rutina Where-Object
vybere objekty, které mají konkrétní hodnoty vlastností z kolekce objektů, které jsou do ní předány. Pomocí této rutiny Where-Object
můžete například vybrat soubory vytvořené po určitém datu, události s určitým ID nebo počítači, které používají konkrétní verzi Windows.
Počínaje windows PowerShellem 3.0 existují dva různé způsoby vytvoření Where-Object
příkazu.
Blok skriptu. Blok skriptu můžete použít k určení názvu vlastnosti, relačního operátoru a hodnoty vlastnosti.
Where-Object
vrátí všechny objekty, pro které je příkaz bloku skriptu pravdivý.Například následující příkaz získá procesy ve
Normal
třídě priority, to znamená procesy, kde hodnota PriorityClass vlastnost se rovnáNormal
.Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Všechny relační operátory PowerShellu jsou platné ve formátu bloku skriptu. Další informace najdete v tématu about_Comparison_Operators.
Příkaz porovnání. Můžete také napsat porovnávací příkaz, který je mnohem více podobný přirozenému jazyku. Příkazy porovnání byly zavedeny ve Windows PowerShellu 3.0.
Například následující příkazy také získávají procesy, které mají prioritu třídy
Normal
. Tyto příkazy jsou ekvivalentní a můžete je zaměnitelně.Get-Process | Where-Object -Property PriorityClass -EQ -Value "Normal"
Get-Process | Where-Object PriorityClass -EQ "Normal"
Počínaje windows PowerShellem 3.0
Where-Object
přidá operátory porovnání jako parametry vWhere-Object
příkazu. Pokud není zadáno, nerozlišují se všechny operátory malá a velká písmena. Před Windows PowerShellem 3.0 byly relační operátory v jazyce PowerShell použitelné pouze v blocích skriptu.
Když zadáte jedinou vlastnost Where-Object
, rutina zachází s hodnotou vlastnosti jako s logickým výrazem. Pokud hodnota length vlastnosti není nula, výraz se vyhodnotí jako $true
. Příklad: ('hi', '', 'there') | Where-Object Length
Předchozí příklad je funkčně ekvivalentní:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object { $_.Length -gt 0 }
Další informace o tom, jak PowerShell vyhodnocuje logické hodnoty, najdete v tématu about_Booleans.
Příklady
Příklad 1: Získání zastavených služeb
Tyto příkazy získají seznam všech zastavených služeb. Automatická $_
proměnná představuje každý objekt předaný rutině Where-Object
.
První příkaz používá formát bloku skriptu, druhý příkaz používá formát příkazu porovnání. Příkazy filtruje služby stejným způsobem a vrací stejný výstup. Pouze syntaxe se liší.
Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"
Příklad 2: Získání procesů na základě pracovní sady
Tyto příkazy uvádějí procesy, které mají pracovní sadu větší než 250 megabajtů (MB). Příkazy filtruje procesy stejným způsobem a vrací stejný výstup. Pouze syntaxe se liší.
Get-Process | Where-Object { $_.WorkingSet -GT 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB
Příklad 3: Získání procesů na základě názvu procesu
Tyto příkazy získají procesy, které mají hodnotu vlastnosti ProcessName , která začíná písmenem p
. Operátor Shoda umožňuje používat shody regulárních výrazů.
Příkazy filtruje procesy stejným způsobem a vrací stejný výstup. Pouze syntaxe se liší.
Get-Process | Where-Object { $_.ProcessName -Match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"
Příklad 4: Použití formátu příkazu porovnání
Tento příklad ukazuje, jak použít nový formát příkazu porovnání rutiny Where-Object
.
První příkaz používá formát příkazu porovnání. Nepoužívá žádné aliasy a obsahuje název každého parametru.
Druhým příkazem je přirozenější použití formátu příkazu porovnání. Příkaz nahradí where
alias názvu Where-Object
rutiny a vynechá všechny volitelné názvy parametrů.
Příkazy filtruje procesy stejným způsobem a vrací stejný výstup. Pouze syntaxe se liší.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Příklad 5: Získání příkazů na základě vlastností
Tento příklad ukazuje, jak psát příkazy, které vracejí položky, které mají hodnotu true nebo false nebo mají libovolnou hodnotu pro zadanou vlastnost. Každý příklad ukazuje formáty bloku skriptu i příkazu porovnání.
Příkazy filtrují vstup stejným způsobem a vrací stejný výstup. Pouze syntaxe se liší.
# 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 }
Příklad 6: Použití více podmínek
Get-Module -ListAvailable | Where-Object {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
Tento příklad ukazuje, jak vytvořit Where-Object
příkaz s více podmínkami.
Tento příkaz získá nejádrový modul, který podporuje funkci Aktualizovatelná nápověda. Příkaz pomocí parametru Get-Module
ListAvailable rutiny získá všechny moduly v počítači. Operátor kanálu (|
) odešle moduly do Where-Object
rutiny, která získá moduly, jejichž názvy nezačínají Microsoft
nebo PS
, a mají hodnotu pro vlastnost HelpInfoURI , která říká PowerShellu, kde najít aktualizované soubory nápovědy pro modul. Logický -and
operátor spojuje příkazy porovnání.
Příklad používá formát příkazu bloku skriptu. Logické operátory, například -and
,-or
, a -not
jsou platné pouze v blocích skriptu. Nemůžete je použít ve formátu Where-Object
příkazu porovnání.
- Další informace o logických operátorech PowerShellu najdete v tématu about_Logical_Operators.
- Další informace o funkci Aktualizovatelná nápověda najdete v tématu about_Updatable_Help.
Parametry
-CContains
Označuje, že tato rutina získá objekty z kolekce, pokud hodnota vlastnosti objektu je přesná shoda pro zadanou hodnotu. Tato operace rozlišují malá a velká písmena.
Příklad: Get-Process | Where-Object ProcessName -CContains "svchost"
CContains odkazuje na kolekci hodnot a je true, pokud kolekce obsahuje položku, která je přesná shoda pro zadanou hodnotu. Pokud je vstup jedním objektem, PowerShell ho převede na kolekci jednoho objektu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CEQ
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti stejná jako zadaná hodnota. Tato operace rozlišují malá a velká písmena.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CGE
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti větší nebo rovna zadané hodnotě. Tato operace rozlišují malá a velká písmena.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CGT
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti větší než zadaná hodnota. Tato operace rozlišují malá a velká písmena.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CIn
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti obsahuje zadanou hodnotu. Tato operace rozlišují malá a velká písmena.
Příklad: Get-Process | Where-Object -Value "svchost" -CIn ProcessName
Funkce CIn se podobá CContains s tím rozdílem, že pozice vlastností a hodnot jsou obrácené. Například následující příkazy jsou pravdivé.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CLE
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti menší nebo rovna zadané hodnotě. Tato operace rozlišují malá a velká písmena.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CLike
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti odpovídá hodnotě, která obsahuje zástupné znaky (*
). Tato operace rozlišují malá a velká písmena.
Příklad: Get-Process | Where-Object ProcessName -CLike "*host"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CLT
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti menší než zadaná hodnota. Tato operace rozlišují malá a velká písmena.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CMatch
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti odpovídá zadanému regulárnímu výrazu. Tato operace rozlišují malá a velká písmena. Pokud je vstup jedním objektem, odpovídající hodnota se uloží do $Matches
automatické proměnné.
Příklad: Get-Process | Where-Object ProcessName -CMatch "Shell"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CNE
Označuje, že tato rutina získá objekty, pokud se hodnota vlastnosti liší od zadané hodnoty. Tato operace rozlišují malá a velká písmena.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CNotContains
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti objektu není přesná shoda pro zadanou hodnotu. Tato operace rozlišují malá a velká písmena.
Příklad: Get-Process | Where-Object ProcessName -CNotContains "svchost"
NotContains a CNotContains odkazují na kolekci hodnot a jsou pravdivé, pokud kolekce neobsahuje žádné položky, které jsou přesné shody pro zadanou hodnotu. Pokud je vstup jedním objektem, PowerShell ho převede na kolekci jednoho objektu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CNotIn
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti není přesná shoda pro zadanou hodnotu. Tato operace rozlišují malá a velká písmena.
Příklad: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName
Operátory NotIn a CNotIn se podobají notContains a CNotContains, s tím rozdílem, že pozice vlastností a hodnot jsou obrácené. Například následující příkazy jsou pravdivé.
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CNotLike
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti neodpovídá hodnotě, která obsahuje zástupné znaky. Tato operace rozlišují malá a velká písmena.
Příklad: Get-Process | Where-Object ProcessName -CNotLike "*host"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CNotMatch
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti neodpovídá zadanému regulárnímu výrazu. Tato operace rozlišují malá a velká písmena. Pokud je vstup jedním objektem, odpovídající hodnota se uloží do $Matches
automatické proměnné.
Příklad: Get-Process | Where-Object ProcessName -CNotMatch "Shell"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Contains
Označuje, že tato rutina získá objekty, pokud jakákoli položka v hodnotě vlastnosti objektu je přesná shoda pro zadanou hodnotu.
Příklad: Get-Process | Where-Object ProcessName -Contains "Svchost"
Pokud je vstup jedním objektem, PowerShell ho převede na kolekci jednoho objektu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | IContains |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-EQ
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti stejná jako zadaná hodnota.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | IEQ |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-FilterScript
Určuje blok skriptu, který se používá k filtrování objektů. Uzavřete blok skriptu do složených závorek ({}
).
Název parametru FilterScript je volitelný.
Typ: | ScriptBlock |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-GE
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti větší nebo rovna zadané hodnotě.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | IGE |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-GT
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti větší než zadaná hodnota.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | IGT |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-In
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti odpovídá některé ze zadaných hodnot. Příklad:
Get-Process | Where-Object -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Pokud je vstup jedním objektem, PowerShell ho převede na kolekci jednoho objektu.
Pokud je hodnota vlastnosti objektu pole, PowerShell použije k určení shody rovnost odkazů. Where-Object
vrátí objekt pouze v případě, že hodnota parametru Property a jakákoli hodnota Value je stejná instance objektu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | IIn |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InputObject
Určuje objekty, které se mají filtrovat. Objekty můžete také převést na Where-Object
.
Když použijete inputObject parametr s , místo Where-Object
piping command výsledky do Where-Object
, rutina zachází InputObject jako s jedním objektem. To platí i v případě, že hodnota je kolekce, která je výsledkem příkazu, například -InputObject (Get-Process)
.
Protože InputObject nemůže vracet jednotlivé vlastnosti z pole nebo kolekce objektů, doporučujeme, abyste vyfiltrovali Where-Object
kolekci objektů pro tyto objekty, které mají určité hodnoty v definovaných vlastnostech, použijete Where-Object
v kanálu, jak je znázorněno v příkladech v tomto tématu.
Typ: | PSObject |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Is
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti instance zadaného typu .NET. Uzavřete název typu do hranatých závorek.
Například Get-Process | Where-Object StartTime -Is [DateTime]
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-IsNot
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti není instancí zadaného typu .NET.
Například Get-Process | where StartTime -IsNot [DateTime]
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-LE
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti menší nebo rovna zadané hodnotě.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | ILE |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Like
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti odpovídá hodnotě, která obsahuje zástupné znaky (*
).
Příklad: Get-Process | Where-Object ProcessName -Like "*host"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | ILike |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-LT
Označuje, že tato rutina získá objekty, pokud je hodnota vlastnosti menší než zadaná hodnota.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | ILT |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Match
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti odpovídá zadanému regulárnímu výrazu. Pokud je vstup jedním objektem, odpovídající hodnota se uloží do $Matches
automatické proměnné.
Příklad: Get-Process | Where-Object ProcessName -Match "shell"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | IMatch |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-NE
Označuje, že tato rutina získá objekty, pokud se hodnota vlastnosti liší od zadané hodnoty.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | INE |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Not
Označuje, že tato rutina získá objekty, pokud vlastnost neexistuje nebo má hodnotu $null
nebo $false
.
Příklad: Get-Service | Where-Object -Not "DependentServices"
Tento parametr byl představen ve Windows PowerShellu 6.1.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-NotContains
Označuje, že tato rutina získá objekty, pokud žádná z položek v hodnotě vlastnosti není přesná shoda pro zadanou hodnotu.
Příklad: Get-Process | Where-Object ProcessName -NotContains "Svchost"
NotContains odkazuje na kolekci hodnot a je true, pokud kolekce neobsahuje žádné položky, které jsou přesnou shodou pro zadanou hodnotu. Pokud je vstup jedním objektem, PowerShell ho převede na kolekci jednoho objektu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | INotContains |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-NotIn
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti není přesná shoda pro žádnou ze zadaných hodnot.
Příklad: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName
Pokud je hodnota Value jedním objektem, PowerShell ji převede na kolekci jednoho objektu.
Pokud je hodnota vlastnosti objektu pole, PowerShell použije k určení shody rovnost odkazů. Where-Object
vrátí objekt pouze v případě, že hodnota Vlastnosti a jakákoli hodnota Value nejsou stejnou instancí objektu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | INotIn |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-NotLike
Označuje, že tato rutina získá objekty, pokud hodnota vlastnosti neodpovídá hodnotě, která obsahuje zástupné znaky (*
).
Příklad: Get-Process | Where-Object ProcessName -NotLike "*host"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | INotLike |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-NotMatch
Označuje, že tato rutina získá objekty, když hodnota vlastnosti neodpovídá zadanému regulárnímu výrazu. Pokud je vstup jedním objektem, odpovídající hodnota se uloží do $Matches
automatické proměnné.
Příklad: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | INotMatch |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Property
Určuje název vlastnosti vstupního objektu. Vlastnost musí být vlastnost instance, nikoli statická vlastnost. Jedná se o poziční parametr, takže název , Vlastnost, je nepovinný.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Value
Určuje hodnotu vlastnosti. Název parametru Value je volitelný. Tento parametr přijímá zástupné znaky při použití s následujícími parametry porovnání:
- CLike
- CNotLike
- Jako
- NotLike
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | PSObject |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
Vstupy
Do této rutiny můžete převést libovolný objekt.
Výstupy
Tato rutina vrátí vybrané položky ze vstupní sady objektů.
Poznámky
PowerShell obsahuje následující aliasy pro Where-Object
:
- Všechny platformy:
?
where
Počínaje windows PowerShellem 4.0 Where
a ForEach
metody byly přidány pro použití s kolekcemi.
Další informace o těchto metodách najdete about_arrays