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>]
[-LE]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-CGE]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-CLE]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-CIn]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-GE]
[<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>]
[-Match]
[<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>]
[-Like]
[<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>
[[-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>]
Descrizione
Il Where-Object
cmdlet seleziona 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 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 cui l'istruzione del blocco di script è true.Ad esempio, il comando seguente ottiene processi nella classe Priorità normale, ovvero elabora dove il valore della proprietà PriorityClass è uguale a Normal.
Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}
Tutti gli operatori di confronto di PowerShell sono validi nel formato del blocco di script. Per altre informazioni sugli operatori di confronto, 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 un comando Where-Object. 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 di PowerShell possono essere usati solo nei blocchi di script.
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 set di lavoro
Questi processi di elenco comandi con un set di lavoro maggiore di 25.000 kilobyte (KB). Poiché il valore della proprietà WorkingSet viene archiviato in byte, il valore di 25.000 viene moltiplicato per 1.024.
La sintassi dello scriptblock e dell'istruzione è equivalente e può essere usata in modo intercambiabile.
Get-Process | Where-Object {$_.WorkingSet -GT 25000*1024}
Get-Process | Where-Object WorkingSet -GT (25000*1024)
Esempio 3: Ottenere processi in base al nome del processo
Questi comandi ottengono i processi che hanno un valore di proprietà ProcessName che inizia con la lettera p. L'operatore Match consente di usare le corrispondenze di espressioni regolari.
La sintassi dello scriptblock e dell'istruzione è equivalente e può essere usata 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 dell'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.
La posizione in cui viene sostituito l'alias per il nome del Where-Object
cmdlet e tutti i nomi di parametri facoltativi vengono omessi.
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
Esempio 5: Ottenere 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 i formati di istruzione di blocco script che 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 eOr, 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 è distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where ProcessName -CContains "svchost"
CContains fa riferimento a una raccolta di valori ed è true se la raccolta 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 è 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 è 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 è 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 è distinzione tra maiuscole e minuscole.
ad esempio Get-Process | where -Value "svchost" -CIn ProcessName
CIn è simile a CContains, ad eccezione del fatto che la proprietà e le posizioni 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 è 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 è 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 è 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 fa 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 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 |
-CNotContains
Indica che questo cmdlet ottiene oggetti se il valore della proprietà dell'oggetto non è una corrispondenza esatta per il valore specificato. Questa operazione fa 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 corrisponde esattamente al valore specificato. Questa operazione fa 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 le posizioni di proprietà e valore 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 fa 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 fa 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 un 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 dei riferimenti 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 inviare tramite pipe gli oggetti a Where-Object
.
Quando si usa il parametro InputObject con Where-Object
, anziché i risultati del comando piping in Where-Object
, il valore InputObject viene considerato come un singolo oggetto.
Questo vale 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 una raccolta di oggetti, è consigliabile, se si usa Where-Object
per filtrare una raccolta di oggetti per gli oggetti con valori specifici nelle proprietà definite, si usa 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 Framework 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 Framework 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 |
-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 corrisponde esattamente a 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 dei riferimenti 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 gli oggetti a questo cmdlet.
Output
Object
Questo cmdlet restituisce elementi selezionati dal set di oggetti di input.
Note
- A partire da Windows PowerShell 4.0 e
Where
ForEach
i metodi sono stati aggiunti per l'uso con le raccolte.- Per altre informazioni su questi nuovi metodi , vedere about_arrays