Write-Host
Записывает настраиваемые выходные данные на узел.
Синтаксис
Default (по умолчанию)
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Описание
Основной целью командлета Write-Host является создание выходных данных только для отображения(host), таких как печать цветного текста, например при появлении запроса пользователя на ввод в сочетании с read-Host.
Write-Host использует метод ToString() для записи выходных данных. Напротив, для вывода данных в конвейер используйте записи или неявные выходные данные.
Можно указать цвет текста с помощью параметра ForegroundColor, и можно указать цвет фона с помощью параметра BackgroundColor. Параметр разделителя позволяет указать строку, используемую для разделения отображаемых объектов. Конкретный результат зависит от программы, в которой размещается 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
Эта команда отображает четные числа от двух до двенадцати. Параметр разделителя используется для добавления строковых , +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 |
| Default value: | None |
| Допустимые значения: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-ForegroundColor
Задает цвет текста. Значение по умолчанию отсутствует. Допустимые значения для этого параметра:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite
Свойства параметра
| Тип: | ConsoleColor |
| Default value: | None |
| Допустимые значения: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-NoNewline
Строковые представления входных объектов объединяются для формирования выходных данных. Пробелы или новые строки не вставляются между выходными строками. Новая строка не добавляется после последней выходной строки.
Свойства параметра
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Object
Объекты, отображаемые на узле.
Свойства параметра
| Тип: | Object |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | Msg, Сообщение |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | False |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Separator
Задает строку разделителя для вставки между объектами, отображаемыми узлом.
Свойства параметра
| Тип: | Object |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
Object
Объекты можно передать на узел в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные. Он отправляет объекты на узел. В узле отображаются объекты, отправляемые командлетом.
Примечания
При написании коллекции на узел элементы коллекции печатаются на одной строке, разделенной одним пробелом. Это можно переопределить с помощью параметра Разделителя.
Немитивные типы данных, такие как объекты со свойствами, могут привести к непредвиденным результатам и не предоставлять значимые выходные данные. Например,
Write-Host @{a = 1; b = 2}будет выводитьSystem.Collections.DictionaryEntry System.Collections.DictionaryEntryна узел.