Cmdlets, paramètres et aide
PowerShell repose sur un principe simple : chaque commande est un cmdlet (pronounced "command-let") qui suit la convention Verbe-Nom. Get-Process, Stop-Service, New-Item : cette cohérence permet de deviner les commandes sans les mémoriser toutes.
La convention Verbe-Nom
Les verbes approuvés par Microsoft sont normalisés : Get, Set, New, Remove, Start, Stop, Enable, Disable, Test, Invoke... Cette standardisation évite la fragmentation des noms de commandes que l'on retrouve dans les shells UNIX classiques.
# Lister tous les verbes approuvés
Get-Verb
# Exemples concrets
Get-Process # lister les processus
Stop-Process -Name notepad
New-Item -Path C:\Temp -ItemType Directory
Remove-Item -Path C:\Temp\fichier.txt
Découvrir les paramètres avec Get-Help
Get-Help est le point d'entrée indispensable. Il affiche la syntaxe, les paramètres, les exemples et les notes.
# Aide basique
Get-Help Get-Process
# Aide détaillée avec exemples
Get-Help Get-Process -Examples
# Aide complète (toutes les options)
Get-Help Get-Process -Full
# Mise à jour de l'aide (à faire une fois en admin)
Update-Help
Complétion et alias
PowerShell supporte la complétion avec la touche Tab. Commencez à taper Get-Pr puis appuyez sur Tab : la commande se complète automatiquement. Appuyez plusieurs fois pour cycler entre les correspondances.
Des alias existent pour les nostalgiques UNIX ou CMD : ls → Get-ChildItem, cd → Set-Location, cat → Get-Content, rm → Remove-Item. Ces alias fonctionnent mais masquent la vraie syntaxe PowerShell : réservez-les à l'usage interactif, jamais dans un script.
Cas concret : explorer un dossier
# Lister le contenu de C:\Windows\System32
Get-ChildItem -Path C:\Windows\System32 -Filter *.exe | Select-Object Name, Length | Sort-Object Length -Descending | Select-Object -First 10
Cette commande en chaîne illustre le pipeline : chaque cmdlet reçoit les objets du précédent et les transforme.
Erreurs fréquentes
- Oublier
Update-Help: sans mise à jour,Get-Helpaffiche des descriptions squelettiques. - Utiliser les alias dans les scripts :
lsdans un script est illisible pour quelqu'un qui ne connaît pas l'alias. - Confondre les paramètres positionnels et nommés :
Get-ChildItem C:\Tempfonctionne car-Pathest positionnel, mais expliciter le nom évite les erreurs dans les scripts.
À retenir
- Convention Verbe-Nom → devinabilité des commandes.
Get-Help -Examples→ apprendre en lisant des exemples concrets.- Tab = autocomplétion → gagner du temps interactivement.
- Ne jamais mettre d'alias dans un script de production.
Mini-exercice
Trouvez la commande pour lister tous les services Windows dont le statut est "Running", en n'affichant que le nom et le statut. Indice : Get-Help Get-Service -Examples.