Ce chapitre présente les bases indispensables pour utiliser PowerShell efficacement. Il ne s’agit pas d’apprendre des commandes par cœur, mais de comprendre comment elles sont construites, comment découvrir celles dont tu as besoin et comment interpréter ce qu’elles renvoient. Ces notions sont fondamentales pour tout technicien système.
PowerShell repose sur des cmdlets, des commandes natives conçues pour être cohérentes, lisibles et prévisibles.
Une cmdlet :
Tu ne travailles pas avec du texte brut, mais avec des entités structurées.
Toutes les cmdlets suivent la convention :
Verbe-Nom
Exemples :
Get-Process : récupérer des processusGet-Service : récupérer des servicesSet-Date : modifier un paramètre systèmeRemove-Item : supprimer un élémentLe verbe indique l’action, le nom indique la cible. Cette régularité te permet de deviner des commandes même sans les connaître.
Contrairement à CMD, une commande PowerShell ne renvoie pas du texte, mais des objets.
Get-Member permet d'inspecter ce qu’une commande renvoie :
Get-Process | Get-Member
Tu découvres :
C’est cette structure qui rend PowerShell puissant et fiable pour l’administration système.
PowerShell intègre sa propre documentation.
Afficher l’aide d’une commande :
Get-Help Get-Process
Afficher uniquement des exemples :
Get-Help Get-Process -Examples
Consulter la documentation complète :
Get-Help Get-Process -Full
👉 En pratique, Get-Help est l’outil le plus important à maîtriser pour devenir autonome.
Tu n’as pas besoin de connaître le nom exact d’une cmdlet.
Exemple :
Get-Command *service*
PowerShell te propose toutes les commandes liées aux services. C’est la méthode recommandée pour explorer un nouveau domaine (réseau, système, fichiers…).
PowerShell propose des alias pour aller plus vite :
| Alias | Cmdlet réelle |
|---|---|
dir |
Get-ChildItem |
ls |
Get-ChildItem |
cat |
Get-Content |
ps |
Get-Process |
Les alias sont pratiques en console, mais à éviter dans les scripts, afin de garantir lisibilité et portabilité.
Voici une sélection de cmdlets essentielles, classées par usage.
| Cmdlet | Rôle |
|---|---|
Get-ChildItem |
Lister fichiers et dossiers |
Set-Location |
Changer de dossier |
New-Item |
Créer fichier ou dossier |
Copy-Item |
Copier |
Move-Item |
Déplacer |
Remove-Item |
Supprimer |
| Cmdlet | Rôle |
|---|---|
Get-Process |
Lister les processus |
Stop-Process |
Arrêter un processus |
Get-Service |
Lister les services |
Start-Service |
Démarrer un service |
Stop-Service |
Arrêter un service |
Restart-Computer |
Redémarrer la machine |
| Cmdlet | Rôle |
|---|---|
Test-Connection |
Tester la connectivité (ping) |
Resolve-DnsName |
Résoudre un nom DNS |
Get-NetAdapter |
Afficher les interfaces réseau |
| Cmdlet | Rôle |
|---|---|
Get-Content |
Lire un fichier |
Set-Content |
Écrire dans un fichier |
Export-Csv |
Exporter vers CSV |
ConvertTo-Json |
Convertir en JSON |
Dans ce chapitre, tu as compris :
Ces bases sont indispensables avant d’aborder le pipeline avancé, le filtrage, le tri et l’automatisation.
👉 Le filtrage et le tri des objets seront abordés dans un chapitre spécifique, une fois ces fondations maîtrisées.