关于输出流

简短说明

说明 PowerShell 中输出流的可用性和用途。

长说明

PowerShell 提供多个输出流。 这些流为不同类型的消息提供通道。 可以使用关联的 cmdlet 或重定向写入这些流。 有关详细信息,请参阅 about_Redirection

PowerShell 支持以下输出流。

Stream# 说明 已引入的版本 写入 Cmdlet
1 成功 PowerShell 2.0 Write-Output
2 错误 PowerShell 2.0 Write-Error
3 警告 PowerShell 3.0 Write-Warning
4 详细 PowerShell 3.0 Write-Verbose
5 调试 PowerShell 3.0 Write-Debug
6 信息 PowerShell 5.0 Write-Information
N/A 进度 PowerShell 3.0 Write-Progress

注意

Progress 流不支持重定向。

成功流

成功流是正常成功结果的默认流。 Write-Output使用 cmdlet 将对象显式写入此流。 此流用于通过 PowerShell 管道传递对象。 成功流连接到本机应用程序的 stdout 流。

错误流

错误流是错误结果的默认流。 使用 Write-Error cmdlet 显式写入此流。 错误流连接到本机应用程序的 stderr 流。 在大多数情况下,这些错误可能会终止执行管道。 写入此流的错误也会添加到 $Error 自动变量。 有关详细信息,请参阅 about_Automatic_Variables

警告流

警告流适用于比写入到错误流的错误更严重的错误条件。 在正常情况下,这些警告不会终止执行。 警告不会写入 $Error 自动变量。 使用 Write-Warning cmdlet 显式写入此流。

详细流

详细流适用于可帮助用户在以交互方式或从脚本运行命令时对命令进行故障排除的消息。 使用 Write-Verbose cmdlet 将消息显式写入此流。 许多 cmdlet 提供详细的输出,有助于了解 cmdlet 的内部工作。 仅当使用通用参数时, -Verbose 才会输出详细消息。 有关详细信息,请参阅 about_CommonParameters

调试流

调试流用于帮助脚本编写者了解其代码失败原因的消息。 使用 Write-Debug cmdlet 显式写入此流。 仅当使用通用参数时, -Debug 才会输出调试消息。 有关详细信息,请参阅 about_CommonParameters

调试消息适用于脚本和 cmdlet 开发人员,而不是最终用户。 这些调试消息可能包含深入故障排除所需的内部详细信息。

信息流

信息流旨在提供可帮助用户了解脚本正在执行的操作的消息。 开发人员还可以将其用作通过 PowerShell 传递信息的其他流。 开发人员可以标记流数据,并针对该流进行特定的处理。 使用 Write-Information cmdlet 显式写入此流。

进度流

进度流用于在长时间运行的命令和脚本中传达进度的消息。 使用 Write-Progress cmdlet 将消息显式写入此流。 Progress 流不支持重定向。

另请参阅