2. Mettez en forme vos scripts pour plus de lisibilité
- Structurer un script
- Ajouter des commentaires utiles
- Nommer correctement variables et fonctions
Script “sale” (exemple)
$a=Get-Service
foreach($x in $a){if($x.Status -eq "Stopped"){Write-Host $x.Name}}
Write-Host "done"
Problèmes : noms non explicites, pas de structure, pas de commentaires, pas de sortie exploitable.
Version refactorisée (lisible)
Principes appliqués
- Variables explicites
- Sections (préparation / traitement / sortie)
- Commentaires utiles
- Sortie exploitable (compteur + liste)
Code
# 1) Collecte
$allServices = Get-Service
# 2) Traitement
$stoppedServices = $allServices | Where-Object { $_.Status -eq 'Stopped' }
# 3) Sortie
Write-Output "Nombre de services arrêtés : $($stoppedServices.Count)"
$stoppedServices | Select-Object Name, Status
Exercice — Mise en forme des services Windows
En tant que technicien TSSR, vous devez être capable de présenter des informations système de manière claire, lisible et exploitable. Cet exercice vise à appliquer les notions de mise en forme vues précédemment.
Contexte professionnel
Vous devez analyser rapidement l’état des services Windows. Un affichage brut n’est pas adapté à une lecture efficace.
Étape 1 — Affichage brut (constat)
Get-Service
❓ Pourquoi cet affichage n’est-il pas adapté à une lecture rapide en exploitation ?
Étape 2 — Sélection des informations utiles
Sélectionnez uniquement les propriétés pertinentes pour l’analyse.
Get-Service | Select-Object Name, Status, StartType
Étape 3 — Mise en forme en tableau lisible
Appliquez une mise en forme claire à l’écran.
Get-Service |
Select-Object Name, Status, StartType |
Format-Table -AutoSize
Étape 4 — Cas réel : services arrêtés uniquement
Filtrez les services arrêtés et affichez-les de manière lisible.
Get-Service |
Where-Object { $_.Status -eq "Stopped" } |
Select-Object Name, Status, StartType |
Format-Table -AutoSize
Select-Objectpermet de choisir les données utilesFormat-Tablesert uniquement à l’affichage-AutoSizeaméliore la lisibilité- La mise en forme est toujours une étape finale
Erreur fréquente à éviter
Get-Service | Format-Table | Export-Csv services.csv
Format-Table transforme les objets en texte.
On met en forme pour l’humain, jamais pour l’export.
Exercice complémentaire (autonomie)
Affichez les 5 services les plus récemment démarrés avec :
- le nom
- le statut
- le type de démarrage
Indice
Utilisez Sort-Object et Select-Object -First.
Corrigé
Get-Service |
Sort-Object Status |
Select-Object -First 5 Name, Status, StartType |
Format-Table -AutoSize
- Lire et interpréter une sortie PowerShell
- Adapter l’affichage à un besoin métier
- Produire une information exploitable pour l’exploitation