2. Mettez en forme vos scripts pour plus de lisibilité

Structure, commentaires utiles, nommage : maintenance facilitée.
Objectifs
  • Structurer un script
  • Ajouter des commentaires utiles
  • Nommer correctement variables et fonctions
Atelier collaboratif : partir d’un script volontairement “sale” et le rendre lisible. Objectif : produire une version maintenable.

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

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.

Objectif : produire un affichage lisible pour un contrôle rapide.

É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
Analyse attendue :
  • Select-Object permet de choisir les données utiles
  • Format-Table sert uniquement à l’affichage
  • -AutoSize améliore la lisibilité
  • La mise en forme est toujours une étape finale

Erreur fréquente à éviter

Get-Service | Format-Table | Export-Csv services.csv
Erreur conceptuelle : 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
Compétence validée (TSSR) :
  • Lire et interpréter une sortie PowerShell
  • Adapter l’affichage à un besoin métier
  • Produire une information exploitable pour l’exploitation
Quiz

Auto-évaluation — Lisibilité

Q1 — Un bon script d’exploitation doit :

Q2 — Les commentaires utiles servent à :

Q3 — Une variable correctement nommée :

Q4 — La structure recommandée est :

Aller au chapitre suivant