Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
livello di gravità : avviso
Descrizione
Questa regola rileva l'uso di Write-Host in funzioni che non usano il Show verbo.
Write-Host è progettato per produrre output solo di visualizzazione nell'host, come stampare testo a colori o chiedere agli utenti di input con Read-Host. Utilizza il ToString() metodo per scrivere l'output, con risultati che dipendono dal programma host PowerShell.
Poiché Write-Host non invia output alla pipeline, avrai bisogno Write-Output di un output implicito per far passare i dati lungo la pipeline.
Evita di usare Write-Host in funzioni a meno che non usino il verbo Show , che significa esplicitamente visualizzare le informazioni all'utente. Questa regola non si applica alle funzioni con il verbo Show.
Sostituisci Write-Host con Write-Output o Write-Verbose in base alla tua intenzione. Usa Write-Verbose per il logging e Write-Output per restituire oggetti.
Esempio
Non conforme
function Get-MeaningOfLife
{
Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
Write-Host 42
}
Compliant
Usare Write-Verbose per i messaggi informativi. L'utente può decidere se visualizzare il messaggio specificando il parametro dettagliato
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'
}