Skip to content

Affichage

Il faut distinguer le formatage de l'affichage et les modes d'affichage.

Objectifs

À la fin de ce chapitre, vous serez capable de :

  • Choisir le bon format d’affichage (Format-List/Wide/Table).
  • Comprendre la différence entre formatage et sortie.
  • Utiliser les cmdlets Write-* pour informer, diagnostiquer et signaler.

Le formatage va définir la façon dont l'information sera "mise en page", alors que le mode d'affichage définira où et quels types d'informations seront traitées.

Formatage

Il y a 4 formatages possibles :

  • Format-List => liste
  • Format-Wide => colonnes sur la largeur de page
  • Format-Table => tableau
  • Format-Custom => personnalisé

Liste

powershell
Get-Service u* | Format-List DisplayName, Status

image

Tableau

powershell
Get-Service u* | Format-Table DisplayName, Status

image

Largeur de page, -AutoSize adapte le nombre de colonnes en fonction de l'espace

powershell
Get-Service u* | Format-Wide DisplayName -Column 2

image

Modes

Write-Host

Affiche uniquement sur la console :

powershell
Write-Host "bonjour toto"

Write-Output

Sortie avec redirection possible :

powershell
Write-Output "bonjour toto"

Ici, les 2 Write donneront le même résultat :

Si on utilise la redirection dans un fichier. Le fichier titi.txt sera vide, car c'est un affichage sur l'écran seulement.

powershell
Write-Host "bonjour titi" > d:\temp\titi.txt

Le fichier tutu.txt contiendra le texte, car cette Cmdlet permet la redirection dans un fichier :

powershell
Write-Output "bonjour tutu" > d:\temp\tutu.txt

Si les informations que l'on veut ajouter dans le fichier sont seulement les erreurs ("canal" 1 correspond à standard console et 2 à standard erreur).

Le fichier erreurs.txt contiendra l'information du message d'erreur, car il n'y a pas de service qui s'appelle web :

powershell
Get-Service web 2> d:\log\erreurs.txt

Le fichier sera vide car il trouve un service WebClient :

powershell
Get-Service web* 2> d:\log\erreurs.txt

Write-Verbose

Affiche un message complémentaire en bleu par exemple pour information dans l'execution d'un script pas de redirection et le début de ligne du message commence par COMMENTAIRES :

powershell
Write-Verbose Hello -Verbose

Write-Debug

Débogage d'un script, pas de redirection, commence par DEBOGUER :

powershell
Write-Debug "point de debug" -debug

Write-Warning

Affiche un message d'avertissement en orange, pas de redirection et commence par AVERTISSEMENT :

powershell
Write-Warning "hello"

Write-Error

Affiche un message en rouge, redirection seulement pour les erreurs :

powershell
Write-Error "Erreur"

Résumé

  • Le formatage concerne la présentation, pas les données.
  • La sortie peut être orientée écran/fichier selon le besoin.
  • Les cmdlets Write-* aident à structurer l’exécution et les messages.

Exercices

📥 Exo Affichage (PDF)