Sélectionne des propriétés spécifiées d'un objet ou d'un jeu d'objets. Elle peut également sélectionner des objets uniques d'un tableau d'objets, ou sélectionner un nombre spécifié d'objets à partir du début ou de la fin d'un tableau d'objets.

Syntaxe

Select-Object [[-Property] <Object[]>] [-ExcludeProperty <string[]>] [-ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>]

Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>]

Description

L'applet de commande Select-Object obtient uniquement les propriétés spécifiées d'un objet ou jeu d'objets. Elle peut également sélectionner des objets uniques d'un tableau d'objets, ou sélectionner un nombre spécifié d'objets à partir du début ou de la fin d'un tableau d'objets.

Si vous utilisez Select-Object pour sélectionner des propriétés spécifiées, elle copie les valeurs de ces propriétés à partir des objets d'entrée et crée de nouveaux objets qui ont les propriétés spécifiées et les valeurs copiées.

Utilisez le paramètre Property pour spécifier les propriétés à sélectionner. Vous pouvez également utiliser les paramètres First, Last, Unique, Skip et Index pour sélectionner des objets spécifiques d'un tableau d'objets d'entrée. Pour un filtrage d'objets plus précis, utilisez l'applet de commande Where-Object.

Paramètres

-ExcludeProperty <string[]>

Supprime les propriétés spécifiées de la sélection. Les caractères génériques sont autorisés. Ce paramètre n'a effet que si la commande inclut également le paramètre Property.

La valeur du paramètre de propriété peut être une propriété calculée, qui est une table de hachage spécifiant un nom et calculant une valeur pour l'affichage de la propriété. Les clés valides sont :

-- Name ou Label <chaîne>

-- Expression <chaîne> ou <bloc de script>

Pour plus d'informations, consultez les exemples.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

true

-ExpandProperty <string>

Spécifie une propriété à sélectionner et indique qu'une tentative doit être faite pour développer cette propriété. Les caractères génériques sont autorisés dans le nom de la propriété.

Par exemple, si la propriété spécifiée est un tableau, chaque valeur de ce tableau est incluse dans la sortie. Si la propriété contient un objet, les propriétés de cet objet sont affichées dans la sortie.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

true

-First <int>

Spécifie le nombre d'objets à sélectionner au début d'un tableau d'objets d'entrée.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Index <Int32[]>

Sélectionne les objets d'un tableau en fonction de leurs valeurs d'index. Entrez les index dans une liste séparée par des virgules.

Les index d'un tableau commencent par 0, où 0 représente la première valeur et (n-1) représente la dernière valeur.

Obligatoire ?

false

Position ?

named

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <psobject>

Spécifie les objets à envoyer à l'applet de commande via le pipeline. Ce paramètre vous permet de diriger les objets vers Select-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

-Last <int>

Spécifie le nombre d'objets à sélectionner à la fin d'un tableau d'objets d'entrée.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Property <Object[]>

Spécifie les propriétés à sélectionner. Les caractères génériques sont autorisés.

La valeur du paramètre Property peut être une nouvelle propriété calculée. Pour créer une propriété calculée, utilisez une table de hachage. Les clés valides sont :

-- Name (ou Label) <chaîne>

-- Expression <chaîne> ou <bloc de script>

Obligatoire ?

false

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

true

-Skip <int>

Ignore (ne sélectionne pas) le nombre spécifié d'éléments. Par défaut, le paramètre Skip commence à compter à partir du début du tableau ou de la liste d'objets, mais si la commande utilise le paramètre Last, il commence à compter à partir de la fin de la liste ou du tableau.

Contrairement au paramètre Index, qui commence à compter à partir de 0, le paramètre Skip commence à 1.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Unique

Spécifie que, si un sous-ensemble des objets d'entrée contient des objets ayant tous des propriétés et des valeurs identiques, un seul membre de ce sous-ensemble sera sélectionné.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

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 n'importe quel objet vers Select-Object.

Sorties

System.Management.Automation.PSObject

Remarques

Vous pouvez également faire référence à Select-Object par son alias intégré, « select ». Pour plus d'informations, consultez about_Aliases.

Exemple 1

C:\PS>get-process | select-object ProcessName,Id,WS

Description
-----------
Cette commande affiche une liste de processus. Seules les propriétés de nom (Name), d'ID et de plage de travail (WS, Working Set) des processus sont affichées.






Exemple 2

C:\PS>get-process | select-object processname -expandproperty modules |
format-list

ProcessName       : 00THotkey
Size              : 256
Company           : TOSHIBA Corporation
FileVersion       : 1, 0, 0, 27
ProductVersion    : 6, 2, 0, 0
Description       : THotkey
Product           : TOSHIBA THotkey
ModuleName        : 00THotkey.exe
FileName          : C:\WINDOWS\system32\00THotkey.exe
BaseAddress       : 4194304

Description
-----------
Cette commande affiche des informations à propos des modules utilisés par les processus qui s'exécutent sur un ordinateur. Elle utilise le paramètre ExpandProperty pour afficher les détails contenus dans la propriété de modules.






Exemple 3

C:\PS>get-process | sort-object -property WS | select-object -Last 5

Handles  NPM(K)    PM(K)      WS(K) VS(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
   2866     320    33432      45764   203   222.41   1292 svchost
    577      17    23676      50516   265    50.58   4388 WINWORD
    826      11    75448      76712   188    19.77   3780 Ps
   1367      14    73152      88736   216    61.69    676 Ps
   1612      44    66080      92780   380   900.59   6132 INFOPATH

Description
-----------
Cette commande affiche les cinq processus qui utilisent le plus de mémoire. L'applet de commande Sort-Object est utilisée pour trier les processus d'après l'utilisation de la mémoire (plage de travail) alors que l'applet de commande Select-Object est utilisée pour sélectionner uniquement les cinq derniers membres du tableau d'objets résultant.






Exemple 4

C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}}

ProcessName  StartDay
----         --------
alg          Wednesday
ati2evxx     Wednesday
ati2evxx     Thursday
...

Description
-----------
Cette commande affiche le nom et le jour de démarrage des processus qui s'exécutent sur un ordinateur. 

Les valeurs du paramètre Property sont ProcessName et une propriété calculée nommée « Start Day ». La propriété « Start Day » est ajoutée à l'aide d'une table de hachage avec les clés Name et Expression.






Exemple 5

C:\PS>"a","b","c","a","a","a" | select-object -unique

a
b
c

Description
-----------
Cette commande affiche des caractères uniques d'un tableau de caractères.






Exemple 6

C:\PS>$a = get-eventlog -log "Windows PowerShell" 

C:\PS> $a | select-object -index 0, ($a.count - 1)

Description
-----------
Ces commandes obtiennent le premier événement (le plus récent) et le dernier événement (le plus ancien) du journal des événements Windows PowerShell. 

La première commande utilise l'applet de commande Get-EventLog pour obtenir tous les événements du journal Windows PowerShell. Elle les enregistre dans la variable $a.

La deuxième commande utilise un opérateur de pipeline (|) pour envoyer les événements de la variable $a à l'applet de commande Select-Object. La commande Select-Object utilise le paramètre Index pour sélectionner des éléments en fonction de leur numéro d'index. L'index du premier événement est 0. L'index du dernier événement est le nombre d'éléments de $a moins 1.






Exemple 7

C:\PS>new-pssession -computername (get-content servers.txt | select-object -skip 1)

Description
-----------
Cette commande crée une session PSSession sur chaque ordinateur répertorié dans les fichiers Servers.txt, à l'exception du premier.

Elle utilise l'applet de commande Select-Object pour sélectionner tous les ordinateurs d'une liste de noms d'ordinateurs, sauf le premier. La liste d'ordinateurs obtenue est définie en tant que valeur du paramètre ComputerName de l'applet de commande New-PSSession.






Voir aussi




Table des matières