Partager via


Where-Object

Sélectionne les objets d’une collection en fonction de leurs valeurs de propriété.

Syntaxe

EqualSet (Par défaut)

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

ScriptBlockSet

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

LessOrEqualSet

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

CaseSensitiveGreaterOrEqualSet

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

CaseSensitiveLessOrEqualSet

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

CaseSensitiveInSet

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

GreaterOrEqualSet

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

CaseSensitiveLikeSet

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

NotLikeSet

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

CaseSensitiveNotLikeSet

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

MatchSet

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

CaseSensitiveMatchSet

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

NotMatchSet

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

CaseSensitiveNotMatchSet

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

ContainsSet

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

CaseSensitiveContainsSet

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

NotContainsSet

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

CaseSensitiveNotContainsSet

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

InSet

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

LikeSet

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

NotInSet

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

CaseSensitiveNotInSet

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

IsSet

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

IsNotSet

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

CaseSensitiveEqualSet

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

NotEqualSet

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

CaseSensitiveNotEqualSet

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

GreaterThanSet

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

CaseSensitiveGreaterThanSet

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

LessThanSet

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

CaseSensitiveLessThanSet

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

Description

L’applet de commande Where-Object sélectionne les objets qui ont des valeurs de propriété particulières dans la collection d’objets qui lui sont transmis. Par exemple, vous pouvez utiliser l’applet de commande Where-Object pour sélectionner des fichiers créés après une certaine date, des événements avec un ID particulier ou des ordinateurs qui utilisent une version particulière de Windows.

À compter de Windows PowerShell 3.0, il existe deux façons différentes de construire une commande Where-Object.

  • de bloc de script . Vous pouvez utiliser un bloc de script pour spécifier le nom de la propriété, un opérateur de comparaison et une valeur de propriété. Where-Object retourne tous les objets pour lesquels l’instruction de bloc de script est vraie.

    Par exemple, la commande suivante obtient des processus dans la classe de priorité Normale, c’est-à-dire les processus dans lesquels la valeur de la propriété PriorityClass est normale.

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

    Tous les opérateurs de comparaison PowerShell sont valides au format de bloc de script. Pour plus d'informations sur les opérateurs de comparaison, reportez-vous à la rubrique about_Comparison_Operators.

  • 'instruction Comparison. Vous pouvez également écrire une instruction de comparaison, qui est beaucoup plus semblable au langage naturel. Les instructions de comparaison ont été introduites dans Windows PowerShell 3.0.

    Par exemple, les commandes suivantes obtiennent également des processus qui ont une classe de priorité normal. Ces commandes sont équivalentes et peuvent être utilisées de manière interchangeable.

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

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

    À compter de Windows PowerShell 3.0, Where-Object ajoute des opérateurs de comparaison en tant que paramètres dans une commande Where-Object. Sauf indication contraire, tous les opérateurs ne respectent pas la casse. Avant Windows PowerShell 3.0, les opérateurs de comparaison dans le langage PowerShell peuvent être utilisés uniquement dans les blocs de script.

Exemples

Exemple 1 : Obtenir les services arrêtés

Ces commandes obtiennent la liste de tous les services actuellement arrêtés.

La variable automatique $_ représente chaque objet passé à l’applet de commande Where-Object.

La première commande utilise le format de bloc de script, la deuxième commande utilise le format d’instruction de comparaison.

Les commandes sont équivalentes et peuvent être utilisées de manière interchangeable.

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

Exemple 2 : Obtenir des processus en fonction du jeu de travail

Ces commandes répertorient les processus dont le jeu de travail est supérieur à 25 000 kilo-octets (Ko). Étant donné que la valeur de la propriété WorkingSet est stockée en octets, la valeur de 25 000 est multipliée par 1 024.

La syntaxe de scriptblock et d’instruction est équivalente et peut être utilisée de manière interchangeable.

Get-Process | Where-Object {$_.WorkingSet -GT 25000*1024}
Get-Process | Where-Object WorkingSet -GT (25000*1024)

Exemple 3 : Obtenir des processus en fonction du nom du processus

Ces commandes obtiennent les processus qui ont une valeur de propriété ProcessName qui commence par la lettre p. L’opérateur Match vous permet d’utiliser des correspondances d’expression régulière.

La syntaxe de scriptblock et d’instruction est équivalente et peut être utilisée de manière interchangeable.

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

Exemple 4 : Utiliser le format d’instruction de comparaison

Cet exemple montre comment utiliser le nouveau format d’instruction de comparaison de l’applet de commande Where-Object.

La première commande utilise le format d’instruction de comparaison. Dans cette commande, aucun alias n’est utilisé et tous les paramètres incluent le nom du paramètre.

La deuxième commande est l’utilisation la plus naturelle du format de commande de comparaison. L' alias est remplacé par le nom de l’applet de commande Where-Object et tous les noms de paramètres facultatifs sont omis.

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

Exemple 5 : Obtenir des commandes en fonction des propriétés

Cet exemple montre comment écrire des commandes qui retournent des éléments qui sont vrais ou faux ou qui ont une valeur quelconque pour une propriété spécifiée. Chaque exemple montre les formats de bloc de script et d’instruction de comparaison pour la commande.

# 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

Exemple 6 : Utiliser plusieurs conditions

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

Cet exemple montre comment créer une commande Where-Object avec plusieurs conditions.

Cette commande obtient des modules non essentiels qui prennent en charge la fonctionnalité d’aide pouvant être mise à jour. La commande utilise le paramètre ListAvailable de l’applet Get-Module de commande pour obtenir tous les modules sur l’ordinateur. Un opérateur de pipeline (|) envoie les modules à l’applet de commande Where-Object, qui obtient les modules dont les noms ne commencent pas par Microsoft ou PS et ont une valeur pour la propriété HelpInfoURI, qui indique à PowerShell où trouver les fichiers d’aide mis à jour pour le module. Les instructions de comparaison sont connectées par l’opérateur logique And.

L’exemple utilise le format de commande de bloc de script. Les opérateurs logiques, tels que Et et Ou, sont valides uniquement dans les blocs de script. Vous ne pouvez pas les utiliser dans le format d’instruction de comparaison d’une commande Where-Object.

  • Pour plus d’informations sur les opérateurs logiques PowerShell, consultez about_Logical_Operators.
  • Pour plus d’informations sur la fonctionnalité d’aide pouvant être mise à jour, consultez about_Updatable_Help.

Paramètres

-CContains

Indique que cette applet de commande obtient des objets d’une collection si la valeur de propriété de l’objet est une correspondance exacte pour la valeur spécifiée. Cette opération respecte la casse.

Par exemple : Get-Process | where ProcessName -CContains "svchost"

CContains fait référence à une collection de valeurs et est true si la collection contient un élément correspondant exactement à la valeur spécifiée. Si l’entrée est un seul objet, PowerShell le convertit en collection d’un objet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveContainsSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CEQ

Indique que cette applet de commande obtient des objets si la valeur de propriété est identique à la valeur spécifiée. Cette opération respecte la casse.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CGE

Indique que cette applet de commande obtient des objets si la valeur de propriété est supérieure ou égale à la valeur spécifiée. Cette opération respecte la casse.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveGreaterOrEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CGT

Indique que cette applet de commande obtient des objets si la valeur de propriété est supérieure à la valeur spécifiée. Cette opération respecte la casse.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveGreaterThanSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CIn

Indique que cette applet de commande obtient des objets si la valeur de propriété inclut la valeur spécifiée. Cette opération respecte la casse.

Par exemple : Get-Process | where -Value "svchost" -CIn ProcessName

CIn ressemble à CContains, sauf que les positions de propriété et de valeur sont inversées. Par exemple, les instructions suivantes sont toutes deux vraies.

« abc », « def » -CContains « abc »

« abc » -CIn « abc », « def »

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveInSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CLE

Indique que cette applet de commande obtient des objets si la valeur de propriété est inférieure ou égale à la valeur spécifiée. Cette opération respecte la casse.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveLessOrEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CLike

Indique que cette applet de commande obtient des objets si la valeur de propriété correspond à une valeur qui inclut des caractères génériques. Cette opération respecte la casse.

Par exemple : Get-Process | where ProcessName -CLike "*host"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveLikeSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CLT

Indique que cette applet de commande obtient des objets si la valeur de propriété est inférieure à la valeur spécifiée. Cette opération respecte la casse.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveLessThanSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CMatch

Indique que cette applet de commande obtient des objets si la valeur de propriété correspond à l’expression régulière spécifiée. Cette opération respecte la casse. Lorsque l’entrée est scalaire, la valeur correspondante est enregistrée dans $Matches variable automatique.

Par exemple : Get-Process | where ProcessName -CMatch "Shell"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveMatchSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CNE

Indique que cette applet de commande obtient des objets si la valeur de propriété est différente de la valeur spécifiée. Cette opération respecte la casse.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveNotEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CNotContains

Indique que cette applet de commande obtient des objets si la valeur de propriété de l’objet n’est pas une correspondance exacte pour la valeur spécifiée. Cette opération respecte la casse.

Par exemple : Get-Process | where ProcessName -CNotContains "svchost"

« NotContains » et « CNotContains font référence à une collection de valeurs et sont vrais lorsque la collection ne contient aucun élément qui correspond exactement à la valeur spécifiée. Si l’entrée est un seul objet, PowerShell le convertit en collection d’un objet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveNotContainsSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CNotIn

Indique que cette applet de commande obtient des objets si la valeur de propriété n’est pas une correspondance exacte pour la valeur spécifiée. Cette opération respecte la casse.

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

Les opérateurs NotIn et CNotIn ressemblent à NotContains et CNotContains, sauf que les positions de propriété et de valeur sont inversées. Par exemple, les instructions suivantes sont vraies.

« abc », « def » -CNotContains « Abc »

« abc » -CNotIn « Abc », « def »

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveNotInSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CNotLike

Indique que cette applet de commande obtient des objets si la valeur de la propriété ne correspond pas à une valeur qui inclut des caractères génériques. Cette opération respecte la casse.

Par exemple : Get-Process | where ProcessName -CNotLike "*host"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveNotLikeSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-CNotMatch

Indique que cette applet de commande obtient des objets si la valeur de propriété ne correspond pas à l’expression régulière spécifiée. Cette opération respecte la casse. Lorsque l’entrée est scalaire, la valeur correspondante est enregistrée dans $Matches variable automatique.

Par exemple : Get-Process | where ProcessName -CNotMatch "Shell"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

CaseSensitiveNotMatchSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Contains

Indique que cette applet de commande obtient des objets si un élément de la valeur de propriété de l’objet correspond exactement à la valeur spécifiée.

Par exemple : Get-Process | where ProcessName -Contains "Svchost"

Si la valeur de propriété contient un seul objet, PowerShell le convertit en collection d’un objet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:IContains

Jeux de paramètres

ContainsSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-EQ

Indique que cette applet de commande obtient des objets si la valeur de propriété est identique à la valeur spécifiée.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:IEQ

Jeux de paramètres

EqualSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FilterScript

Spécifie le bloc de script utilisé pour filtrer les objets. Placez le bloc de script dans les accolades ({}).

Le nom du paramètre , FilterScript, est facultatif.

Propriétés du paramètre

Type:ScriptBlock
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ScriptBlockSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-GE

Indique que cette applet de commande obtient des objets si la valeur de propriété est supérieure ou égale à la valeur spécifiée.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:IGE

Jeux de paramètres

GreaterOrEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-GT

Indique que cette applet de commande obtient des objets si la valeur de propriété est supérieure à la valeur spécifiée.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:IGT

Jeux de paramètres

GreaterThanSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-In

Indique que cette applet de commande obtient des objets si la valeur de propriété correspond à l’une des valeurs spécifiées.

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

Si la valeur du paramètre Value est un objet unique, PowerShell le convertit en collection d’un seul objet.

Si la valeur de propriété d’un objet est un tableau, PowerShell utilise l’égalité de référence pour déterminer une correspondance. Where-Object retourne l’objet uniquement si la valeur du paramètre Property et toute valeur de Value sont la même instance d’un objet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Iin

Jeux de paramètres

InSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Spécifie les objets à filtrer. Vous pouvez également diriger les objets vers Where-Object.

Lorsque vous utilisez le paramètre InputObject avec Where-Object, au lieu de passer aux Where-Objectrésultats de la commande piping, la valeur InputObject est traitée comme un seul objet. Cela est vrai même si la valeur est une collection qui est le résultat d’une commande, telle que -InputObject (Get-Process). Étant donné que InputObject ne peut pas retourner des propriétés individuelles à partir d’un tableau ou d’une collection d’objets, nous vous recommandons de le faire, si vous utilisez Where-Object pour filtrer une collection d’objets pour ces objets qui ont des valeurs spécifiques dans les propriétés définies, vous utilisez Where-Object dans le pipeline, comme illustré dans les exemples de cette rubrique.

Propriétés du paramètre

Type:PSObject
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Is

Indique que cette applet de commande obtient des objets si la valeur de propriété est une instance du type .NET Framework spécifié. Placez le nom du type entre crochets.

Par exemple, Get-Process | where StartTime -Is [DateTime]

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

IsSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-IsNot

Indique que cette applet de commande obtient des objets si la valeur de propriété n’est pas une instance du type .NET Framework spécifié.

Par exemple, Get-Process | where StartTime -IsNot [DateTime]

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

IsNotSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LE

Indique que cette applet de commande obtient des objets si la valeur de propriété est inférieure ou égale à la valeur spécifiée.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:ILE

Jeux de paramètres

LessOrEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Like

Indique que cette applet de commande obtient des objets si la valeur de propriété correspond à une valeur qui inclut des caractères génériques.

Par exemple : Get-Process | where ProcessName -Like "*host"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:ILike

Jeux de paramètres

LikeSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LT

Indique que cette applet de commande obtient des objets si la valeur de propriété est inférieure à la valeur spécifiée.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:ILT

Jeux de paramètres

LessThanSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Match

Indique que cette applet de commande obtient des objets si la valeur de propriété correspond à l’expression régulière spécifiée. Lorsque l’entrée est scalaire, la valeur correspondante est enregistrée dans $Matches variable automatique.

Par exemple : Get-Process | where ProcessName -Match "shell"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:IMatch

Jeux de paramètres

MatchSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NE

Indique que cette applet de commande obtient des objets si la valeur de propriété est différente de la valeur spécifiée.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:INE

Jeux de paramètres

NotEqualSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NotContains

Indique que cette applet de commande obtient des objets si aucun des éléments de la valeur de propriété n’est une correspondance exacte pour la valeur spécifiée.

Par exemple : Get-Process | where ProcessName -NotContains "Svchost"

NotContains fait référence à une collection de valeurs et est true si la collection ne contient aucun élément qui correspond exactement à la valeur spécifiée. Si l’entrée est un seul objet, PowerShell le convertit en collection d’un objet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:INotContains

Jeux de paramètres

NotContainsSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NotIn

Indique que cette applet de commande obtient des objets si la valeur de propriété n’est pas une correspondance exacte pour l’une des valeurs spécifiées.

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

Si la valeur de Value est un objet unique, PowerShell le convertit en une collection d’un objet.

Si la valeur de propriété d’un objet est un tableau, PowerShell utilise l’égalité de référence pour déterminer une correspondance. Where-Object retourne l’objet uniquement si la valeur de Property et toute valeur de Valeur ne sont pas la même instance d’un objet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:INotIn

Jeux de paramètres

NotInSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NotLike

Indique que cette applet de commande obtient des objets si la valeur de la propriété ne correspond pas à une valeur qui inclut des caractères génériques.

Par exemple : Get-Process | where ProcessName -NotLike "*host"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:INotLike

Jeux de paramètres

NotLikeSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NotMatch

Indique que cette applet de commande obtient des objets lorsque la valeur de propriété ne correspond pas à l’expression régulière spécifiée. Lorsque l’entrée est scalaire, la valeur correspondante est enregistrée dans $Matches variable automatique.

Par exemple : Get-Process | where ProcessName -NotMatch "PowerShell"

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:INotMatch

Jeux de paramètres

NotMatchSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Property

Spécifie le nom d’une propriété d’objet.

Le nom du paramètre, Property, est facultatif.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

EqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LessOrEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveGreaterOrEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveLessOrEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveInSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
GreaterOrEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveLikeSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotLikeSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotLikeSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
MatchSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveMatchSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotMatchSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotMatchSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
ContainsSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveContainsSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotContainsSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotContainsSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
InSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LikeSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotInSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotInSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
IsSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
IsNotSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotEqualSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
GreaterThanSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveGreaterThanSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LessThanSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveLessThanSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Value

Spécifie une valeur de propriété. Le nom du paramètre, Value, est facultatif. Ce paramètre accepte les caractères génériques lorsqu’il est utilisé avec les paramètres de comparaison suivants :

  • CLike
  • CNotLike
  • Comme
  • Pas comme ça

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:Object
Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

EqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LessOrEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveGreaterOrEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveLessOrEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveInSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
GreaterOrEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveLikeSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotLikeSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotLikeSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
MatchSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveMatchSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotMatchSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotMatchSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
ContainsSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveContainsSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotContainsSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotContainsSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
InSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LikeSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotInSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotInSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
IsSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
IsNotSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
NotEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveNotEqualSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
GreaterThanSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveGreaterThanSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LessThanSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CaseSensitiveLessThanSet
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

PSObject

Vous pouvez diriger les objets vers cette applet de commande.

Sorties

Object

Cette applet de commande retourne les éléments sélectionnés à partir du jeu d’objets d’entrée.

Notes

  • À compter de Windows PowerShell 4.0, Where et ForEach méthodes ont été ajoutées pour une utilisation avec des collections.
    • Vous pouvez en savoir plus sur ces nouvelles méthodes ici about_arrays