Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Schweregrad: Warnung
Beschreibung
Diese Regel erkennt die Verwendung von Write-Host in Funktionen, die das Verb Show nicht verwenden.
Write-Host ist darauf ausgelegt, nur eine Anzeigeausgabe im Host zu erzeugen, wie zum Beispiel farbigen Text zu drucken oder Benutzer zur Eingabe mit Read-Hostaufzufordern. Es verwendet die Methode ToString() , um Ausgaben zu schreiben, wobei die Ergebnisse vom PowerShell-Hostprogramm abhängen.
Da Write-Host keine Ausgabe an die Pipeline gesendet wird, brauchst Write-Output du implizite Ausgaben, um Daten durch die Pipeline weiterzugeben.
Vermeiden Sie die Verwendung Write-Host von Funktionen, es sei denn, sie verwenden das Verb Show , was explizit bedeutet, Informationen dem Nutzer anzuzeigen. Diese Regel gilt nicht für Funktionen mit dem verb Show.
Ersetzen Sie Write-Host durch Write-Output oder Write-Verbose , je nach Ihrer Absicht. Verwenden Write-Verbose Sie sie zum Protokollieren und Write-Output zum Rücksenden von Objekten.
Beispiel
Nicht konform
function Get-MeaningOfLife
{
Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
Write-Host 42
}
Konform
Verwenden Sie Write-Verbose für Informationsmeldungen. Der Benutzer kann entscheiden, ob die Nachricht angezeigt werden soll, indem er den parameter Verbose bereitstellt.
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'
}