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.
Select-Object permet :
<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.
Get-ChildItem -File | Select-Object Name, Length
Length est la taille en octets.
Grâce à Select-Object, la sortie est beaucoup plus lisible.
Get-Process | Select-Object -First 5
Get-ChildItem -File | Select-Object -Last 3
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.
Select-Object est souvent utilisé avec :
Sort-ObjectWhere-ObjectMeasure-ObjectAfficher uniquement les 10 plus gros fichiers du dossier :
Get-ChildItem -File -Recurse |
Sort-Object Length -Descending |
Select-Object Name, Length -First 10
| 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 |
Select-Object est l’outil clé pour structurer et maîtriser la sortie des commandes PowerShell.
Il permet :
Export-CSV, ConvertTo-Json, etc.).