Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
niveau de gravité : avertissement
Description
L’objectif principal de l’applet de commande Write-Host est de produire une sortie d’affichage uniquement dans l’hôte. Par exemple : impression de texte coloré ou invite l’utilisateur à entrer lorsqu’il est combiné à Read-Host.
Write-Host utilise la méthode ToString() pour écrire la sortie. Le résultat particulier dépend du programme qui héberge PowerShell. La sortie de Write-Host n’est pas envoyée au pipeline. Pour générer des données dans le pipeline, utilisez Write-Output ou une sortie implicite.
L’utilisation de Write-Host dans une fonction est déconseillée, sauf si la fonction utilise le verbe Show. Le verbe Show signifie explicitement afficher des informations à l’utilisateur. Cette règle ne s’applique pas aux fonctions avec le verbe Show.
Comment
Remplacez Write-Host par Write-Output ou Write-Verbose selon que l’intention est de journaliser ou de retourner un ou plusieurs objets.
Exemple
Erreur
function Get-MeaningOfLife
{
Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
Write-Host 42
}
C’est bien ça
Utilisez Write-Verbose pour les messages d’information. L’utilisateur peut décider s’il faut voir le message en fournissant le paramètre détaillé
function Get-MeaningOfLife
{
[CmdletBinding()]Param() # makes it possible to support Verbose output
Write-Verbose 'Computing the answer to the ultimate question of life, the universe and everything'
Write-Output 42
}
function Show-Something
{
Write-Host 'show something on screen'
}