Comment afficher des messages d'information dans PowerShell
- Introduction à l’exportation de sorties dans PowerShell
-
le Cmdlet
Write-Output
dans PowerShell -
le Cmdlet
Write-Host
etWrite-Information
dans PowerShell -
le Cmdlet
Write-Warning
dans PowerShell -
le Cmdlet
Write-Debug
dans PowerShell -
le Cmdlet
Write-Error
dans PowerShell -
le Cmdlet
Write-Verbose
dans PowerShell

Écrire des messages informatifs à la console est un processus essentiel dans n’importe quel langage, car cela fournit correctement un retour d’information à l’utilisateur. Cependant, il existe plusieurs façons d’imprimer des messages dans Windows PowerShell.
Cet article différenciera les différentes commandes d’écriture telles que l’écriture de messages informatifs, d’avertissements et d’erreurs, ainsi que des situations dans lesquelles et où nous pouvons les utiliser.
Introduction à l’exportation de sorties dans PowerShell
Avant de commencer à discuter des différentes commandes d’écriture, il convient de noter que PowerShell peut sortir un message en plaçant une seule ligne entre des guillemets simples (''
) ou doubles (""
).
Exemple de code :
"Hello World!"
'Hello World'
Sortie :
Hello World!
Hello World
Cette syntaxe est possible dans PowerShell grâce à l’expression littérale de la chaîne et à la pipeline de chaînes cachées. Les plusieurs extraits de code ci-dessus sont équivalents à l’exemple de code ci-dessous.
Exemple de code :
"Hello World!" | Out-Host
La commande Out-Host
envoie les objets précédés pour affichage sur la console.
le Cmdlet Write-Output
dans PowerShell
La première méthode d’impression est la commande Write-Output
. Ce cmdlet est la syntaxe la plus basique de toutes les méthodes d’impression à l’intérieur de l’environnement de script PowerShell.
Nous pouvons l’assimiler aux méthodes d’impression basiques de nombreuses langues différentes telles que print
et stdout
.
Exemple de code :
Write-Output "Hello World!"
Sortie :
Hello World!
le Cmdlet Write-Host
et Write-Information
dans PowerShell
La commande Write-Host
est une autre méthode d’impression similaire à la précédente, Write-Output
.
La seule différence de cette commande avant qu’elle ne soit mise à jour dans PowerShell 5.0 est que la méthode ne peut uniquement sortir des messages avec des couleurs différentes en utilisant les paramètres -BackgroundColor
et -ForegroundColor
.
Comme mentionné, à partir de Windows PowerShell 5.0, Write-Host
est maintenant un wrapper pour Write-Information
. Cela nous permet d’utiliser Write-Host
pour émettre une sortie vers le flux d’information.
Ce cmdlet permet la suppression ou la capture des données écrites utilisant la commande Write-Host
tout en préservant la compatibilité ascendante.
La variable de préférence $InformationPreference
et le paramètre standard -InformationAction
n’affectent pas les messages de Write-Host
. L’exception à cette règle est -InformationAction Ignore
, qui supprime effectivement la sortie de Write-Host
.
Écrire dans le flux d’information en utilisant Write-Host
ou Write-information
ne créera pas de problèmes avec votre chaîne de sortie.
Nous pouvons également manipuler la visibilité du flux d’information si nous utilisons le paramètre -InformationAction
, à condition que nous associons également la valeur du paramètre donné aux déclarations Write-Host
dans la fonction.
Par exemple, l’exemple ci-dessous désactivera le flux d’information par défaut, sauf demande contraire via le paramètre -InformationAction
.
Write-Host 'This is a test message' -InformationAction $InformationPreference -ForegroundColor Green
le Cmdlet Write-Warning
dans PowerShell
La commande Write-Warning
écrit un message d’avertissement dans l’hôte Windows PowerShell. La réponse à l’événement d’avertissement dépend de la valeur de la variable $WarningPreference
de l’utilisateur et du paramètre standard -WarningAction
.
Les valeurs valides de la variable $WarningPreference
sont les suivantes.
Stop
- Affiche les messages d’avertissement et d’erreur, puis arrête l’exécution.Inquire
- Affiche le message d’avertissement et demande à l’utilisateur la permission de continuer sous la forme d’un message de confirmation.Continue
- La valeur par défaut de la variable. Affiche le message d’avertissement, puis l’exécute.SilentlyContinue
- N’affiche pas le message d’avertissement. Continue l’exécution.
Exemple de code :
Write-Warning "This is only a test warning notification." -WarningAction Continue
le Cmdlet Write-Debug
dans PowerShell
La commande Write-Debug
est également une autre méthode d’impression dans PowerShell. Cependant, cela est généralement utilisé davantage dans le développement pour imprimer des messages de débogage dans l’environnement de script.
Les messages de débogage ne sont pas affichés par défaut mais peuvent être modifiés à l’aide de la variable $debugPreference
.
Exemple de code :
Write-Debug "Error on line 1. Please investigate."
$debugPreference = "Continue"
Write-Debug "Error on line 5. Please investigate."
Sortie :
DEBUG: Error on line 5. Please investigate.
le Cmdlet Write-Error
dans PowerShell
La commande Write-Error
produit une erreur non terminante. Par défaut, les erreurs sont envoyées dans le flux d’erreur au programme hôte PowerShell pour être exportées avec la sortie.
Pour produire une erreur non terminante, entrez une chaîne de message d’erreur, un objet ErrorRecord
, ou un objet Exception
. Ensuite, utilisez les différents paramètres de Write-Error
pour peupler le registre d’erreur que nous allons exporter.
Les erreurs non terminantes écriront une erreur dans le flux d’erreur, mais elles ne stopperont pas le traitement de la commande. Par exemple, si une erreur non terminante est lancée sur un élément d’un ensemble d’éléments d’entrée, le cmdlet continue de traiter les autres éléments.
Exemple de code :
Write-Error "Invalid object" -ErrorId B1 -TargetObject $_
Sortie :
Write-Error "Invalid object" -ErrorId B1 -TargetObject $_ : Invalid object
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : B1
le Cmdlet Write-Verbose
dans PowerShell
La commande Write-Verbose
écrit du texte dans le flux de message verbeux dans PowerShell.
Comme la commande Write-Debug
, le message verbeux n’est pas affiché par défaut mais peut être affiché à l’aide de la variable $VerbosePreference
ou en ajoutant le paramètre commutateur -Verbose
.
Exemple de code :
Write-Verbose -Message "This will not be displayed."
Write-Verbose -Message "This will be displayed" -Verbose
Sortie :
VERBOSE: This will be displayed
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn