Compartir a través de


AvoidUsingWriteHost

Nivel de gravedad de : advertencia

Descripción

El propósito principal del cmdlet Write-Host es generar una salida de solo visualización en el host. Por ejemplo: imprimir texto coloreado o pedir al usuario que escriba cuando se combina con Read-Host. Write-Host usa el método ToString() para escribir la salida. El resultado determinado depende del programa que hospeda PowerShell. La salida de Write-Host no se envía a la canalización. Para generar datos en la canalización, use Write-Output o salida implícita.

No se recomienda el uso de Write-Host en una función a menos que la función use el verbo Show. El verbo Show significa explícitamente información para mostrar al usuario. Esta regla no se aplica a las funciones con el verbo Show.

Cómo

Reemplace Write-Host por Write-Output o Write-Verbose en función de si la intención es registrar o devolver uno o varios objetos.

Ejemplo

Incorrecto

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

Correcto

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

Más información

de host de escritura