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