Polarys

Syntaxe et pipeline

Cmdlets, paramètres et aide

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 : lsGet-ChildItem, cdSet-Location, catGet-Content, rmRemove-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-Help affiche des descriptions squelettiques.
  • Utiliser les alias dans les scripts : ls dans 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:\Temp fonctionne car -Path est 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.

Quiz de validation

Quiz - 2 questions

1. Quelle convention de nommage PowerShell utilise-t-il pour ses cmdlets ?

2. Quelle commande affiche des exemples concrets d'utilisation de Get-Process ?

Suis ta progression

Crée un compte gratuit pour suivre ta progression et accéder à toutes les leçons.