PowerShell – `Select-Object`: Choisir les infos

Select-Object (alias select) est un cmdlet qui permet de choisir quelles propriétés d’un objet tu veux afficher ou réduire la quantité d’information d’une commande. Il intervient typiquement après un pipeline, lorsqu’on souhaite transformer la sortie d’une commande en ne gardant que l’essentiel.

    6tq 5tq
  • niveau

Rôle principal

Select-Object permet :

  1. Sélectionner certaines propriétés d’un objet
  2. Renommer une propriété
  3. Limiter le nombre d’objets retournés (ex : les 5 premiers)

Syntaxe de base

<commande> | Select-Object <propriétés>

Exemple simple :

Get-Process | Select-Object Name, Id

Name                            Id
----                            --
AdobeUpdateService            7800
afwServ                       7476
AmdAppCompatSvc               7792
amdfendrsr                    3656
...

Seules les colonnes Name et Id seront affichées.


Sélectionner des propriétés

Exemple : afficher uniquement le nom et la taille des fichiers

Get-ChildItem -File | Select-Object Name, Length

Length est la taille en octets. Grâce à Select-Object, la sortie est beaucoup plus lisible.


Sélectionner un nombre limité d’objets

Les 5 premiers processus :

Get-Process | Select-Object -First 5

Les 3 derniers fichiers :

Get-ChildItem -File | Select-Object -Last 3

Éviter la sélection automatique de propriétés (important)

PowerShell tente parfois d’optimiser l’affichage en réduisant automatiquement les propriétés visibles. Pour désactiver cette optimisation et forcer l'affichage complet de l’objet :

Get-Process | Select-Object *

Ce * signifie : toutes les propriétés, sans réduction.


Combiner Select-Object avec le pipeline

Select-Object est souvent utilisé avec :

  • Sort-Object
  • Where-Object
  • Measure-Object

Exemple complet

Afficher uniquement les 10 plus gros fichiers du dossier :

Get-ChildItem -File -Recurse |
    Sort-Object Length -Descending |
    Select-Object Name, Length -First 10

Résumé synthétique

Fonction Exemple Description
Sélection simple select Name, Length Garde uniquement ces propriétés
Limiter select -First 5 Garde les 5 premiers objets
Tout afficher select * Désactive l’optimisation d’affichage

Conclusion

Select-Object est l’outil clé pour structurer et maîtriser la sortie des commandes PowerShell. Il permet :

  • d’alléger les résultats,
  • de reformater les données,
  • et de préparer des données pour export (Export-CSV, ConvertTo-Json, etc.).

Pour aller plus loin