Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
уровень серьезности : предупреждение
Описание
Основной целью командлета Write-Host является создание выходных данных только для отображения на узле. Например, печать цветного текста или запрос пользователя на ввод при сочетании с Read-Host.
Write-Host использует метод ToString() для записи выходных данных. Конкретный результат зависит от программы, в которой размещена PowerShell. Выходные данные из Write-Host не отправляются в конвейер. Чтобы вывести данные в конвейер, используйте Write-Output или неявные выходные данные.
Использование Write-Host в функции не рекомендуется, если функция не использует команду Show. Команда Show явно означает, что отображать сведения для пользователя. Это правило не применяется к функциям с помощью команды Show.
Как
Замените Write-Host на Write-Output или Write-Verbose в зависимости от того, выполняется ли намерение ведение журнала или возврат одного или нескольких объектов.
Пример
Неправильный
function Get-MeaningOfLife
{
Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
Write-Host 42
}
Правильно
Используйте Write-Verbose для информационных сообщений. Пользователь может решить, следует ли видеть сообщение, указав параметр 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'
}