Where-Object
Seleziona gli oggetti di una raccolta in base ai valori di proprietà.
Sintassi
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>]
Descrizione
Il Where-Object
cmdlet seleziona gli oggetti con valori di proprietà specifici dall'insieme di oggetti passati. Ad esempio, è possibile usare il Where-Object
cmdlet per selezionare i file creati dopo una determinata data, gli eventi con un ID specifico o i computer che usano una determinata versione di Windows.
A partire da Windows PowerShell 3.0, esistono due modi diversi per costruire un Where-Object
comando.
Blocco di script. È possibile usare un blocco di script per specificare il nome della proprietà, un operatore di confronto e un valore della proprietà.
Where-Object
restituisce tutti gli oggetti per i quali l'istruzione del blocco di script è true.Ad esempio, il comando seguente ottiene i processi nella
Normal
classe priority, ovvero elabora dove il valore della proprietà PriorityClass è uguale aNormal
.Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Tutti gli operatori di confronto di PowerShell sono validi nel formato di blocco di script. Per altre informazioni, vedere about_Comparison_Operators.
Istruzione di confronto. È inoltre possibile scrivere un'istruzione di confronto, che è molto più simile al linguaggio naturale. Le istruzioni di confronto sono state introdotte in Windows PowerShell 3.0.
Ad esempio, i comandi seguenti ottengono anche processi con una classe di priorità .
Normal
Questi comandi sono equivalenti e possono essere usati in modo interscambiabile.Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"
Get-Process | Where-Object PriorityClass -eq "Normal"
A partire da Windows PowerShell 3.0,
Where-Object
aggiunge operatori di confronto come parametri in unWhere-Object
comando. Se non diversamente specificato, tutti gli operatori non distinguono tra maiuscole e minuscole. Prima di Windows PowerShell 3.0, gli operatori di confronto nel linguaggio PowerShell possono essere usati solo nei blocchi di script.
Quando si specifica una singola proprietà a Where-Object
, il valore della proprietà viene considerato come un'espressione booleana. Quando il valore di Length non è zero, l'espressione restituisce $true
. ad esempio ('hi', '', 'there') | Where-Object Length
L'esempio precedente è funzionalmente equivalente a:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object {$_.Length -gt 0}
Per altre informazioni sulla valutazione dei valori booleani, vedere about_Booleans.
Esempio
Esempio 1: Ottenere i servizi arrestati
Questi comandi ottengono un elenco di tutti i servizi attualmente arrestati. La $_
variabile automatica rappresenta ogni oggetto passato al Where-Object
cmdlet .
Il primo comando usa il formato del blocco di script, il secondo comando usa il formato dell'istruzione di confronto. I comandi sono equivalenti e possono essere usati indifferentemente.
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"
Esempio 2: Ottenere processi basati sul working set
Questi processi elencano i processi con un working set maggiore di 250 megabyte (MB). La sintassi scriptblock e statement sono equivalenti e possono essere usate in modo intercambiabile.
Get-Process | Where-Object {$_.WorkingSet -GT 250MB}
Get-Process | Where-Object WorkingSet -GT (250MB)
Esempio 3: Ottenere processi in base al nome del processo
Questi comandi ottengono i processi con un valore della proprietà ProcessName che inizia con la lettera p
. L'operatore Match consente di usare corrispondenze di espressioni regolari.
La sintassi scriptblock e statement sono equivalenti e possono essere usate in modo intercambiabile.
Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}
Get-Process | Where-Object ProcessName -Match "^p.*"
Esempio 4: Usare il formato dell'istruzione di confronto
In questo esempio viene illustrato come usare il nuovo formato di istruzione di confronto del Where-Object
cmdlet .
Il primo comando usa il formato dell'istruzione di confronto. In questo comando non vengono usati alias e tutti i parametri includono il nome del parametro.
Il secondo comando rappresenta l'utilizzo più naturale del formato del comando di confronto. L'alias where
viene sostituito con il nome del Where-Object
cmdlet e tutti i nomi di parametro facoltativi vengono omessi.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Esempio 5: Ottenere i comandi in base alle proprietà
Questo esempio illustra come scrivere comandi che restituiscono gli elementi true o false o che hanno qualsiasi valore per una proprietà specificata. Ogni esempio mostra sia il blocco di script che i formati di istruzione di confronto per il comando .
# 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
Esempio 6: Usare più condizioni
Get-Module -ListAvailable | where {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
In questo esempio viene illustrato come creare un Where-Object
comando con più condizioni.
Questo comando recupera i moduli non di base che supportano la funzionalità Guida aggiornabile. Il comando usa il parametro ListAvailable del Get-Module
cmdlet per ottenere tutti i moduli nel computer. Un operatore pipeline (|
) invia i moduli al Where-Object
cmdlet , che ottiene i moduli i cui nomi non iniziano con Microsoft
o PS
e hanno un valore per la proprietà HelpInfoURI , che indica a PowerShell dove trovare i file della Guida aggiornati per il modulo. Le istruzioni di confronto sono connesse dall'operatore logico And .
L'esempio usa il formato di comando del blocco di script. Gli operatori logici, ad esempio And e Or, sono validi solo nei blocchi di script. Non è possibile usarli nel formato dell'istruzione di confronto di un Where-Object
comando.
- Per altre informazioni sugli operatori logici di PowerShell, vedere about_Logical_Operators.
- Per altre informazioni sulla funzionalità Guida aggiornabile, vedere about_Updatable_Help.
Parametri
-CContains
Indica che questo cmdlet ottiene oggetti da una raccolta se il valore della proprietà dell'oggetto è una corrispondenza esatta per il valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where ProcessName -CContains "svchost"
CContains fa riferimento a una raccolta di valori ed è true se l'insieme contiene un elemento che corrisponde esattamente al valore specificato. Se l'input è un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CEQ
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è uguale al valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGE
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è maggiore o uguale al valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGT
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è maggiore del valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CIn
Indica che questo cmdlet ottiene oggetti se il valore della proprietà include il valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where -Value "svchost" -CIn ProcessName
CIn è simile a CContains, ad eccezione del fatto che le posizioni della proprietà e del valore vengono invertite. Ad esempio, le istruzioni seguenti sono entrambe true.
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLE
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è minore o uguale al valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLike
Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde a un valore che include caratteri jolly (*
). Questa operazione fa distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where ProcessName -CLike "*host"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLT
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è minore del valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CMatch
Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde all'espressione regolare specificata. Questa operazione è distinzione tra maiuscole e minuscole. Quando l'input è scalare, il valore corrispondente viene salvato nella $Matches
variabile automatica.
ad esempio Get-Process | where ProcessName -CMatch "Shell"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNE
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è diverso dal valore specificato. Questa operazione è distinzione tra maiuscole e minuscole.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotContains
Indica che questo cmdlet ottiene oggetti se il valore della proprietà dell'oggetto non è una corrispondenza esatta per il valore specificato. Questa operazione è distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where ProcessName -CNotContains "svchost"
NotContains e CNotContains fanno riferimento a una raccolta di valori e sono true quando la raccolta non contiene elementi che corrispondono esattamente al valore specificato. Se l'input è un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotIn
Indica che questo cmdlet ottiene oggetti se il valore della proprietà non è una corrispondenza esatta per il valore specificato. Questa operazione è distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where -Value "svchost" -CNotIn -Property ProcessName
Gli operatori NotIn e CNotIn sono simili a NotContains e CNotContains, ad eccezione del fatto che la proprietà e le posizioni dei valori vengono invertite. Ad esempio, le istruzioni seguenti sono true.
"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
Indica che questo cmdlet ottiene oggetti se il valore della proprietà non corrisponde a un valore che include caratteri jolly. Questa operazione è distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where ProcessName -CNotLike "*host"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotMatch
Indica che questo cmdlet ottiene oggetti se il valore della proprietà non corrisponde all'espressione regolare specificata. Questa operazione è distinzione tra maiuscole e minuscole. Quando l'input è scalare, il valore corrispondente viene salvato nella $Matches
variabile automatica.
ad esempio Get-Process | where ProcessName -CNotMatch "Shell"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Contains
Indica che questo cmdlet ottiene oggetti se qualsiasi elemento nel valore della proprietà dell'oggetto è una corrispondenza esatta per il valore specificato.
ad esempio Get-Process | where ProcessName -Contains "Svchost"
Se il valore della proprietà contiene un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è uguale al valore specificato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
Specifica il blocco di script che viene usato per filtrare gli oggetti. Racchiudere il blocco di script tra parentesi graffe ({}
).
Il nome del parametro FilterScript è facoltativo.
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GE
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è maggiore o uguale al valore specificato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GT
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è maggiore del valore specificato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-In
Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde a uno dei valori specificati. Ad esempio:
Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
Se il valore del parametro Value è un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.
Se il valore della proprietà di un oggetto è una matrice, PowerShell usa l'uguaglianza di riferimento per determinare una corrispondenza. Where-Object
restituisce l'oggetto solo se il valore del parametro Property e qualsiasi valore di Value sono la stessa istanza di un oggetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifica gli oggetti da filtrare. È anche possibile eseguire la pipe degli oggetti in Where-Object
.
Quando si usa il parametro InputObject con Where-Object
, anziché i risultati dei comandi di piping in Where-Object
, il valore InputObject viene considerato come un singolo oggetto. Questo valore è true anche se il valore è una raccolta che è il risultato di un comando, ad esempio -InputObject (Get-Process)
. Poiché InputObject non può restituire singole proprietà da una matrice o da un insieme di oggetti, è consigliabile Where-Object
filtrare una raccolta di oggetti per tali oggetti con valori specifici nelle proprietà definite, usare Where-Object
nella pipeline, come illustrato negli esempi di questo argomento.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Is
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è un'istanza del tipo .NET specificato. Racchiudere il nome del tipo tra parentesi quadre.
Ad esempio: Get-Process | where StartTime -Is [DateTime]
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsNot
Indica che questo cmdlet ottiene oggetti se il valore della proprietà non è un'istanza del tipo .NET specificato.
Ad esempio: Get-Process | where StartTime -IsNot [DateTime]
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LE
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è minore o uguale al valore specificato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Like
Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde a un valore che include caratteri jolly (*
).
ad esempio Get-Process | where ProcessName -Like "*host"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LT
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è minore del valore specificato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Match
Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde all'espressione regolare specificata. Quando l'input è scalare, il valore corrispondente viene salvato nella $Matches
variabile automatica.
ad esempio Get-Process | where ProcessName -Match "shell"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
Indica che questo cmdlet ottiene oggetti se il valore della proprietà è diverso dal valore specificato.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Not
Indica che questo cmdlet ottiene oggetti se la proprietà non esiste o ha un valore di $null
o $false
.
ad esempio Get-Service | where -Not "DependentServices"
Questo parametro è stato introdotto in Windows PowerShell 6.1.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotContains
Indica che questo cmdlet ottiene oggetti se nessuno degli elementi nel valore della proprietà è una corrispondenza esatta per il valore specificato.
ad esempio Get-Process | where ProcessName -NotContains "Svchost"
NotContains fa riferimento a una raccolta di valori ed è true se la raccolta non contiene elementi che corrispondono esattamente al valore specificato. Se l'input è un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotIn
Indica che questo cmdlet ottiene oggetti se il valore della proprietà non è una corrispondenza esatta per uno dei valori specificati.
ad esempio Get-Process | where -Value "svchost" -NotIn -Property ProcessName
Se il valore di Value è un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.
Se il valore della proprietà di un oggetto è una matrice, PowerShell usa l'uguaglianza di riferimento per determinare una corrispondenza. Where-Object
restituisce l'oggetto solo se il valore di Property e qualsiasi valore di Value non sono la stessa istanza di un oggetto.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotLike
Indica che questo cmdlet ottiene oggetti se il valore della proprietà non corrisponde a un valore che include caratteri jolly (*
).
ad esempio Get-Process | where ProcessName -NotLike "*host"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotMatch
Indica che questo cmdlet ottiene oggetti quando il valore della proprietà non corrisponde all'espressione regolare specificata. Quando l'input è scalare, il valore corrispondente viene salvato nella $Matches
variabile automatica.
ad esempio Get-Process | where ProcessName -NotMatch "PowerShell"
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
Specifica il nome di una proprietà di oggetto. Il nome del parametro, Property, è facoltativo.
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Specifica un valore di proprietà. Il nome del parametro, Value, è facoltativo. Questo parametro accetta caratteri jolly quando viene usato con i parametri di confronto seguenti:
- CLike
- CNotLike
- Come
- NotLike
Questo parametro è stato introdotto in Windows PowerShell 3.0.
Type: | Object |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
Input
È possibile inviare tramite pipe gli oggetti a questo cmdlet.
Output
Object
Questo cmdlet restituisce gli elementi selezionati dal set di oggetti di input.
Note
A partire da Windows PowerShell 4.0 Where
e ForEach
i metodi sono stati aggiunti per l'uso con le raccolte.
Per altre informazioni su questi metodi , vedere qui about_arrays