Write-Host (Microsoft.PowerShell.Utility)
Write-Host
- Модуль:
- Microsoft.PowerShell.Utility
Записывает настроенный вывод на хост.
Синтаксис
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]Описание
Основная цель командлета Write-Host — создавать выходные данные, предназначенные только для (хост)-отображения, например, печать цветного текста, например, когда пользователю предлагается ввести данные в сочетании с Read-Host. Write-Host использует метод ToString() для записи вывода. Напротив, для вывода данных в конвейер используйте Write-Output или неявный вывод.
Вы можете указать цвет текста, используя параметр ForegroundColor, а цвет фона — с помощью параметра BackgroundColor. Параметр Separator позволяет указать строку, которая будет использоваться для разделения отображаемых объектов. Конкретный результат зависит от программы, на которой размещен PowerShell.
Примечание
Начиная с Windows PowerShell 5.0, Write-Host является оболочкой для Write-Information. Это позволяет использовать Write-Host для отправки вывода в информационный поток. Это позволяет захват или подавление данных, записанных с помощью Write-Host, сохраняя при этом обратную совместимость.
Привилегированная переменная $InformationPreference и общий параметр InformationAction не влияют на сообщения Write-Host. Исключением из этого правила является -InformationAction Ignore, который эффективно подавляет вывод Write-Host. (см. «Пример 5»)
Примеры
Пример 1: запись в консоль без добавления новой строки
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second stringЭта команда отображает строку «нет проверки новой строки» с параметром NoNewline.
Записывается вторая строка, но она оказывается на той же строке, что и первая, из-за отсутствия символа новой строки, разделяющего строки.
Пример 2: запись в консоль и включение разделителя
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12Эта команда отображает четные числа от двух до двенадцати. Параметр Separator используется для добавления строки , +2= (запятая, пробел, +, 2, =, пробел).
Пример 3. Написание текста и фона с использованием разных цветов.
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12Эта команда отображает четные числа от двух до двенадцати. Он использует параметр ForegroundColor для вывода темно-зеленого текста и параметр BackgroundColor для отображения белого фона.
Пример 4. Написание текста с использованием разных цветов текста и фона.
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.Эта команда отображает строку «Красный текст на белом». Текст имеет красный цвет, как определено параметром ForegroundColor. Фон белый, как определено параметром BackgroundColor.
Пример 5. Подавление вывода с Write-Host
# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $nullЭти команды эффективно подавляют вывод командлета Write-Host. Первый использует параметр InformationAction со значением Ignore для подавления вывода в информационный поток. Второй пример перенаправляет информационный поток команды в переменную $null и тем самым подавляет его. Дополнительные сведения см. в разделе about_Output_Streams.
Параметры
-BackgroundColor
Определяет цвет фона. По умолчанию нет. Допустимые значения этого параметра:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite- Тип :
ConsoleColor
- Принятые значения:
Черный, Темно-Синий, Темно-Зеленый, Темно-Голубой, Темно-Красный, Темно-Пурпурный, Темно-Желтый, Серый, Темно-Серый, Синий, Зеленый, Голубой, Красный, Пурпурный, Желтый, Белый
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-ForegroundColor
Определяет цвет текста. По умолчанию нет. Допустимые значения этого параметра:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite- Тип :
ConsoleColor
- Принятые значения:
Черный, Темно-Синий, Темно-Зеленый, Темно-Голубой, Темно-Красный, Темно-Пурпурный, Темно-Желтый, Серый, Темно-Серый, Синий, Зеленый, Голубой, Красный, Пурпурный, Желтый, Белый
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-NoNewline
Строковые представления входных объектов объединяются для формирования выходных данных. Между выходными строками не вставляются пробелы или символы новой строки. После последней выходной строки новая строка не добавляется.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Object
Объекты для отображения на хосте.
- Тип :
Объект
- Псевдонимы:
Msg, Message
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Separator
Указывает строку-разделитель для вставки между объектами, отображаемыми узлом.
- Тип :
Объект
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
Входы
Объект
В этот командлет можно передать объекты для записи на хост.
Выходы
Нет
Этот командлет не возвращает никаких результатов. Он отправляет объекты на хост. Хост отображает объекты, которые ему отправляет этот командлет.
Примечания
При записи коллекции на хост элементы коллекции печатаются в одной строке, разделенной одним пробелом. Это можно переопределить с помощью параметра Separator.
Непримитивные типы данных, такие как объекты со свойствами, могут привести к неожиданным результатам и не обеспечить содержательного вывода. Например,
Write-Host @{a=1; b=2выведетSystem.Collections.DictionaryEntry System.Collections.DictionaryEntryна хост.