О потоках вывода

Краткое описание

Объясняет доступность и назначение выходных потоков в PowerShell.

Подробное описание

PowerShell предоставляет несколько потоков вывода. Потоки предоставляют каналы для различных типов сообщений. Эти потоки можно записать с помощью связанного командлета или перенаправления. Дополнительные сведения см. в about_Redirection.

PowerShell поддерживает следующие выходные потоки.

Поток # Description Представлено в Командлет записи
1 Success Поток PowerShell 2.0 Write-Output
2 Error Поток PowerShell 2.0 Write-Error
3 Warning Поток PowerShell 2.0 Write-Warning
4 Verbose Поток PowerShell 2.0 Write-Verbose
5 Debug Поток PowerShell 2.0 Write-Debug
6 Information Поток PowerShell 5.0 Write-Information
Н/Д Progress Поток PowerShell 2.0 Write-Progress

Примечание.

Поток Progress не поддерживает перенаправление.

Success Поток

Поток Success — это поток по умолчанию для обычных успешных результатов. Используйте командлет для явной Write-Output записи объектов в этот поток. Этот поток используется для передачи объектов через конвейер PowerShell. Поток Success подключен к потоку stdout для собственных приложений.

Error Поток

Поток Error — это поток по умолчанию для результатов ошибок. Используйте командлет для явной Write-Error записи в этот поток. Поток Error подключен к потоку stderr для собственных приложений. В большинстве случаев эти ошибки могут завершить конвейер выполнения. ErrorЗаписи в этот поток также добавляются в автоматическую $Error переменную. Дополнительные сведения см. в статье about_Automatic_Variables.

Warning Поток

Поток Warning предназначен для условий ошибок, которые менее серьезны, чем ошибки, записанные в Error поток. В обычных условиях эти предупреждения не завершаются выполнением. Warningне записываются в автоматическую $Error переменную. Используйте командлет для явной Write-Warning записи в этот поток.

Verbose Поток

Поток Verbose предназначен для сообщений, которые помогают пользователям устранять неполадки при интерактивном выполнении или из скрипта. Используйте командлет для явной Write-Verbose записи сообщений в этот поток. Многие командлеты предоставляют подробные выходные данные, полезные для понимания внутренних действий командлета. Подробные сообщения выводятся только при использовании -Verbose общего параметра. Дополнительные сведения см. в разделе about_CommonParameters.

Debug Поток

Поток Debug используется для сообщений, которые помогают скриптам понять, почему их код завершается сбоем. Используйте командлет для явной Write-Debug записи в этот поток. Сообщения отладки выводятся только при использовании -Debug общего параметра. Дополнительные сведения см. в разделе about_CommonParameters.

Debug сообщения предназначены для разработчиков скриптов и командлетов больше, чем конечных пользователей. Эти сообщения отладки могут содержать внутренние сведения, необходимые для глубокого устранения неполадок.

Information Поток

Поток Information предназначен для предоставления сообщений, которые помогают пользователю понять, что делает скрипт. Его также можно использовать разработчиками в качестве дополнительного потока, используемого для передачи информации через PowerShell. Разработчик может пометить потоковые данные и иметь конкретную обработку для этого потока. Используйте командлет для явной Write-Information записи в этот поток.

Write-Host также записывается в Information поток. Разница между командлетами заключается в том, что Write-Host также записывается в консоль узла, если вы не перенаправляете Information поток. Write-Information записывается только в Information поток.

Progress Поток

Поток Progress используется для сообщений, которые обмениваются данными о ходе выполнения более длительных команд и скриптов. Используйте командлет для явной Write-Progress записи сообщений в этот поток. Поток Progress не поддерживает перенаправление.

См. также