Crée un filtre qui contrôle les objets qui seront passés le long d'un pipeline de commande.

Syntaxe

Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]

Description

L'applet de commande Where-Object sélectionne des objets parmi ceux qui lui sont passés. Elle utilise un bloc de script comme filtre et évalue ce bloc de script pour chaque objet. Si le résultat de l'évaluation est True, l'objet est retourné. Dans le cas contraire, l'objet est ignoré.

Paramètres

-FilterScript <scriptblock>

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

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <psobject>

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

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.Management.Automation.PSObject

Vous pouvez diriger les objets à filtrer vers Where-Object.

Sorties

Exemple 1

C:\PS>get-service | where-object {$_.Status -eq "Stopped"}

Description
-----------
Cette commande obtient la liste de tous les services qui sont actuellement arrêtés. Le symbole « $ » représente chaque objet passé à l'applet de commande Where-Object.






Exemple 2

C:\PS>get-process | where-object {$_.workingset -gt 25000*1024}

Description
-----------
Cette commande répertorie les processus qui ont une plage de travail supérieure à 25 000 kilo-octets (Ko). Étant donné que la valeur de la propriété WorkingSet est stockée en octets, la valeur 25 000 est multipliée par 1 024.






Exemple 3

C:\PS>get-process | where-object { $_.ProcessName -match "^p.*" }

Description
-----------
Cette commande permet d'obtenir les processus dont la propriété ProcessName commence par la lettre « p ». L'opérateur de correspondance vous permet d'utiliser des expressions régulières dans une clause Where.






Exemple 4

C:\PS>get-process -name svchost | where-object {$True}

Description
-----------
Cette commande répertorie tous les processus nommés « svchost ». 

L'applet de commande Where-Object évalue le bloc de script, lequel inclut généralement une référence à l'objet actuellement présent dans le pipeline ($_), et procède au transtypage des résultats en type booléen : True ou False. Si le résultat est True, l'objet est retourné. Sinon, il est ignoré. 

Dans le cas présent, le bloc de script retourne uniquement True ; tous les objets sont donc retournés.









Table des matières