Condividi tramite


Where-Object

Seleziona gli oggetti da una raccolta in base ai valori delle proprietà.

Sintassi

EqualSet (Impostazione predefinita)

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    [-InputObject <PSObject>]
    [-EQ]
    [<CommonParameters>]

ScriptBlockSet

Where-Object
    [-FilterScript] <ScriptBlock>
    [-InputObject <PSObject>]
    [<CommonParameters>]

MatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Match
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CEQ
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNE
    [-InputObject <PSObject>]
    [<CommonParameters>]

GreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -GT
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveGreaterThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CGT
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -LT
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLessThanSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLT
    [-InputObject <PSObject>]
    [<CommonParameters>]

GreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -GE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveGreaterOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CGE
    [-InputObject <PSObject>]
    [<CommonParameters>]

LessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -LE
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLessOrEqualSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLE
    [-InputObject <PSObject>]
    [<CommonParameters>]

LikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Like
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotLikeSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotLike
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotMatchSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotMatch
    [-InputObject <PSObject>]
    [<CommonParameters>]

ContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Contains
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotContainsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotContains
    [-InputObject <PSObject>]
    [<CommonParameters>]

InSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -In
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

NotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -NotIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

CaseSensitiveNotInSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -CNotIn
    [-InputObject <PSObject>]
    [<CommonParameters>]

IsSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -Is
    [-InputObject <PSObject>]
    [<CommonParameters>]

IsNotSet

Where-Object
    [-Property] <String>
    [[-Value] <Object>]
    -IsNot
    [-InputObject <PSObject>]
    [<CommonParameters>]

Descrizione

Il cmdlet Where-Object seleziona gli oggetti con valori di proprietà specifici dall'insieme di oggetti passati. Ad esempio, è possibile usare il cmdlet Where-Object 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 comando Where-Object.

  • Sintassi del 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 in cui il valore della proprietà PriorityClass è Normaluguale a .

    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, vedere about_Comparison_Operators.

  • Sintassi semplificata. Per abilitare la sintassi simiplified, Where-Object include 31 parametri switch che rappresentano gli operatori di confronto. La sintassi semplificata è più facile da leggere e scrivere rispetto alla sintassi del blocco di script. È possibile combinare uno dei parametri switch con i parametri Property e Value per creare un comando che filtra gli oggetti in base ai valori delle relative proprietà.

    Ad esempio, i comandi seguenti ottengono anche processi con una classe di priorità di Normal. Questi comandi sono equivalenti ed è possibile usarli in modo intercambiabile.

    Get-Process | Where-Object -Property PriorityClass -Value Normal -EQ

    Get-Process | Where-Object PriorityClass -EQ Normal

    Come illustrato nell'esempio, i nomi dei parametri Property e Value sono facoltativi. Il parametro Property è un parametro posizionale mappato alla posizione 0. Il parametro Value è un parametro posizionale mappato alla posizione 1. Il parametro switch, usato per specificare il confronto, può essere usato in qualsiasi posizione.

    La sintassi semplificata è stata introdotta in Windows PowerShell 3.0. Per altre informazioni, vedere about_Simplified_Syntax.

Quando si specifica una singola proprietà a Where-Object, il cmdlet considera il valore della proprietà come espressione booleana. Quando il valore della proprietà 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 su come PowerShell valuta i valori booleani, vedere about_Booleans.

Esempio

Esempio 1: Ottenere i servizi arrestati

Questi comandi ottengono un elenco di tutti i servizi arrestati. La variabile automatica $_ rappresenta ogni oggetto passato al cmdlet Where-Object.

Il primo comando usa il formato del blocco di script, il secondo comando usa il formato dell'istruzione di confronto. I comandi filtrano i servizi nello stesso modo e restituiscono lo stesso output. Solo la sintassi è diversa.

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

Esempio 2: Ottenere processi basati sul working set

Questi comandi elencano i processi con un working set maggiore di 250 megabyte (MB). I comandi filtrano i processi allo stesso modo e restituiscono lo stesso output. Solo la sintassi è diversa.

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 e il -match parametro Match consentono di usare corrispondenze di espressioni regolari.

I comandi filtrano i processi allo stesso modo e restituiscono lo stesso output. Solo la sintassi è diversa.

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 cmdlet Where-Object.

Il primo comando usa il formato dell'istruzione di confronto. Non usa alias e include il nome per ogni parametro.

Il secondo comando è l'uso più naturale del formato del comando di confronto. Il comando sostituisce l'alias where per il nome del cmdlet Where-Object e omette tutti i nomi di parametro facoltativi.

I comandi filtrano i processi allo stesso modo e restituiscono lo stesso output. Solo la sintassi è diversa.

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

Esempio 5: Ottenere i comandi in base alle proprietà

In questo esempio viene illustrato come scrivere comandi che restituiscono elementi che sono true o false o 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 .

I comandi filtrano l'input nello stesso modo e restituiscono lo stesso output. Solo la sintassi è diversa.

# 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 { !$_.PSIsContainer }
# You cannot use the -not operator (!) in the comparison statement format
# of the command.
Get-ChildItem | Where-Object PSIsContainer -EQ $false

Esempio 6: Usare più condizioni

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

Questo esempio illustra come creare un comando Where-Object con più condizioni.

Questo comando ottiene moduli non principali 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 PSe hanno un valore per la proprietà HelpInfoURI , che indica a PowerShell dove trovare i file della Guida aggiornati per il modulo. L'operatore logico -and connette le istruzioni di confronto.

Nell'esempio viene usato il formato del comando del blocco di script. Gli operatori logici, ad esempio -and,-ore -not sono validi solo nei blocchi di script. Non è possibile usarli nel formato dell'istruzione di confronto di un comando Where-Object.

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

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveContainsSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveGreaterOrEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveGreaterThanSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object -Value "svchost" -CIn ProcessName

CIn è simile a CContains, ad eccezione del fatto che le posizioni di proprietà e 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveInSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveLessOrEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object ProcessName -CLike "*host"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveLikeSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveLessThanSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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 è un singolo oggetto, il valore corrispondente viene salvato nella variabile automatica $Matches.

Ad esempio: Get-Process | Where-Object ProcessName -CMatch "Shell"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveMatchSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveNotEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-CNotContains

Indica che questo cmdlet ottiene oggetti se il valore della proprietà dell'oggetto non corrisponde esattamente al valore specificato. Questa operazione fa distinzione tra maiuscole e minuscole.

Ad esempio: Get-Process | Where-Object 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveNotContainsSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object -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"

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveNotInSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object ProcessName -CNotLike "*host"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveNotLikeSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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 è un singolo oggetto, il valore corrispondente viene salvato nella variabile automatica $Matches.

Ad esempio: Get-Process | Where-Object ProcessName -CNotMatch "Shell"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CaseSensitiveNotMatchSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object ProcessName -Contains "Svchost"

Se l'input è un singolo oggetto, PowerShell lo converte in una raccolta di un oggetto.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:IContains

Set di parametri

ContainsSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:IEQ

Set di parametri

EqualSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-FilterScript

Specifica il blocco di script utilizzato per filtrare gli oggetti. Racchiudere il blocco di script tra parentesi graffe ({}).

Il nome del parametro FilterScript è facoltativo.

Proprietà dei parametri

Tipo:ScriptBlock
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ScriptBlockSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:IGE

Set di parametri

GreaterOrEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:IGT

Set di parametri

GreaterThanSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-In

Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde a uno dei valori specificati. Per esempio:

Get-Process | Where-Object -Property ProcessName -In -Value "Svchost", "TaskHost", "WsmProvHost"

Se l'input è 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Iin

Set di parametri

InSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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, invece di eseguire il piping dei risultati del comando in Where-Object, il cmdlet considera InputObject come un singolo oggetto. Questo vale anche se il valore è una raccolta che rappresenta 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, usare Where-Object nella pipeline, come illustrato negli esempi di questo argomento.

Proprietà dei parametri

Tipo:PSObject
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object StartTime -Is [datetime]

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

IsSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

IsNotSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:ILE

Set di parametri

LessOrEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object ProcessName -Like "*host"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:ILike

Set di parametri

LikeSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:ILT

Set di parametri

LessThanSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Match

Indica che questo cmdlet ottiene oggetti se il valore della proprietà corrisponde all'espressione regolare specificata. Quando l'input è un singolo oggetto, il valore corrispondente viene salvato nella variabile automatica $Matches.

Ad esempio: Get-Process | Where-Object ProcessName -Match "shell"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:IMatch

Set di parametri

MatchSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:INE

Set di parametri

NotEqualSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:INotContains

Set di parametri

NotContainsSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object -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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:INotIn

Set di parametri

NotInSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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-Object ProcessName -NotLike "*host"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:INotLike

Set di parametri

NotLikeSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-NotMatch

Indica che questo cmdlet ottiene oggetti quando il valore della proprietà non corrisponde all'espressione regolare specificata. Quando l'input è un singolo oggetto, il valore corrispondente viene salvato nella variabile automatica $Matches.

Ad esempio: Get-Process | Where-Object ProcessName -NotMatch "powershell"

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:INotMatch

Set di parametri

NotMatchSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Property

Specifica il nome di una proprietà dell'oggetto di input. La proprietà deve essere una proprietà di istanza, non una proprietà statica. Si tratta di un parametro posizionale, quindi il nome, Property, è facoltativo.

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

EqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
MatchSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
GreaterThanSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveGreaterThanSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LessThanSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveLessThanSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
GreaterOrEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveGreaterOrEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LessOrEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveLessOrEqualSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LikeSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveLikeSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotLikeSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotLikeSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveMatchSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotMatchSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotMatchSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
ContainsSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveContainsSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotContainsSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotContainsSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
InSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveInSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotInSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotInSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
IsSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
IsNotSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Value

Specifica un valore della proprietà. Il nome del parametro, Value, è facoltativo. Questo parametro accetta caratteri jolly quando vengono usati con i parametri di confronto seguenti:

  • CLike
  • CNotLike
  • Come
  • NonCome

Questo parametro è stato introdotto in Windows PowerShell 3.0.

Proprietà dei parametri

Tipo:PSObject
Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

EqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
MatchSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
GreaterThanSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveGreaterThanSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LessThanSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveLessThanSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
GreaterOrEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveGreaterOrEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LessOrEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveLessOrEqualSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LikeSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveLikeSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotLikeSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotLikeSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveMatchSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotMatchSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotMatchSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
ContainsSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveContainsSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotContainsSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotContainsSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
InSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveInSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
NotInSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CaseSensitiveNotInSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
IsSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
IsNotSet
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSObject

È possibile passare qualsiasi oggetto come input a questo cmdlet.

Output

Object

Questo cmdlet restituisce gli elementi selezionati dal set di oggetti di input.

Note

Windows PowerShell include gli alias seguenti per Where-Object:

  • ?
  • where

A partire da Windows PowerShell 4.0, sono stati aggiunti metodi Where e ForEach per l'uso con le raccolte.

Per altre informazioni su questi metodi , vedere qui about_Arrays