Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
allvarlighetsgrad: Varning
Beskrivning
Denna regel upptäcker användning av Write-Host i funktioner som inte använder Show verbet.
Write-Host är utformad för att producera display-endast utdata i värden, som att skriva ut färgad text eller be användare om inmatning med Read-Host. Den använder metoden ToString() för att skriva utdata, med resultat beroende av PowerShell-värdprogrammet.
Eftersom Write-Host den inte skickar output till pipelinen behöver Write-Output du eller implicit output för att skicka data genom pipelinen.
Undvik att använda Write-Host in functions om de inte använder Show verbet, vilket uttryckligen betyder att visa information för användaren. Den här regeln gäller inte för funktioner med Show verb.
Byt ut Write-Host mot Write-Output eller Write-Verbose beroende på din avsikt. Använd Write-Verbose för loggning och Write-Output för att returnera objekt.
Exempel
Ej överensstämmande
function Get-MeaningOfLife
{
Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
Write-Host 42
}
Godkänd
Använd Write-Verbose för informationsmeddelanden. Användaren kan bestämma om meddelandet ska visas genom att ange parametern Utförlig.
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'
}