Udostępnij za pomocą


UnikajusingWriteHost

poziom ważności: ostrzeżenie

Opis

Podstawowym celem polecenia cmdlet Write-Host jest wygenerowanie danych wyjściowych tylko do wyświetlania na hoście. Na przykład: drukowanie kolorowego tekstu lub monitowanie użytkownika o wprowadzenie w połączeniu z Read-Host. Write-Host używa metody ToString() do zapisywania danych wyjściowych. Konkretny wynik zależy od programu obsługującego program PowerShell. Dane wyjściowe z Write-Host nie są wysyłane do potoku. Aby dane wyjściowe do potoku, użyj Write-Output lub niejawnych danych wyjściowych.

Korzystanie z Write-Host w funkcji jest odradzane, chyba że funkcja używa czasownika Show. Czasownik Show jawnie oznacza, że wyświetlić informacje dla użytkownika. Ta reguła nie ma zastosowania do funkcji z czasownikiem Show.

Jak

Zastąp Write-HostWrite-Output lub Write-Verbose w zależności od tego, czy intencja jest rejestrowanie, czy zwraca jeden lub więcej obiektów.

Przykład

Błędny

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

Poprawny

Użyj Write-Verbose do obsługi komunikatów informacyjnych. Użytkownik może zdecydować, czy komunikat ma być wyświetlany, podając parametr 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'
}

Więcej informacji

hosta zapisu