AvoidUsingWriteHost

Nivel de gravedad de : advertencia

Descripción

Esta regla detecta el uso de Write-Host en funciones que no usan el Show verbo. Write-Host está diseñado para producir una salida solo de visualización en el host, como imprimir texto en color o pedir a los usuarios que introduzcan con Read-Host. Utiliza el ToString() método para escribir la salida, con resultados que dependen del programa anfitrión de PowerShell.

Como Write-Host no envía salida a la pipeline, necesitarás Write-Output una salida implícita para pasar datos por la pipeline.

Evita usar Write-Host funciones in a menos que usen el verbo Show , que significa explícitamente mostrar información al usuario. Esta regla no se aplica a las funciones con el verbo Show.

Sustituye Write-Host por Write-Output o Write-Verbose según tu intención. Úsala Write-Verbose para registrar y Write-Output para devolver objetos.

Ejemplo

No conforme

function Get-MeaningOfLife
{
    Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
    Write-Host 42
}

Compliant

Use Write-Verbose para mensajes informativos. El usuario puede decidir si desea ver el mensaje proporcionando el parámetro Verbose.

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'
}