当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Cmdlet 输出的类型

作者:精品下载站 日期:2024-12-14 02:52:22 浏览:14 分类:玩电脑

Cmdlet 输出的类型


PowerShell 提供了多种可由 cmdlet 调用以生成输出的方法。这些方法使用特定的操作将其输出写入特定的数据流,例如成功数据流或错误数据流。本文介绍了输出的类型以及用于生成它们的方法。

输出类型

成功输出

Cmdlet 可以通过返回可由管道中的下一个命令处理的对象来报告成功。 cmdlet 成功执行其操作后,cmdlet 将调用 System.Management.Automation.Cmdlet.WriteObject 方法。我们建议您调用此方法而不是 System.Console.WriteLine 或 System.Management.Automation.Host.PSHostUserInterface.WriteLine 方法。

您可以为通常不返回对象的 cmdlet 提供 PassThru 开关参数。当在命令行中指定 PassThru 开关参数时,会要求 cmdlet 返回一个对象。有关具有 PassThru 参数的 cmdlet 示例,请参阅 Add-History。

错误输出

Cmdlet 可以报告错误。当发生终止错误时,cmdlet 会引发异常。当发生非终止错误时,cmdlet 调用 System.Management.Automation.Provider.CmdletProvider.WriteError 方法将错误记录发送到错误数据流。有关错误报告的更多信息,请参阅错误报告概念。

详细输出

当 cmdlet 通过调用 System.Management.Automation.Cmdlet.WriteVerbose 方法正确处理记录时,Cmdlet 可以为您提供有用的信息。该方法生成指示操作如何进行的详细消息。

默认情况下,不显示详细消息。您可以在运行 cmdlet 时指定 Verbose 参数来显示这些消息。 Verbose 是所有 cmdlet 都可用的通用参数。

进度输出

当 cmdlet 执行需要很长时间才能完成的任务(例如递归复制目录)时,Cmdlet 可以向您提供进度信息。为了显示进度信息,cmdlet 调用 System.Management.Automation.Cmdlet.WriteProgress 方法。

调试输出

Cmdlet 可以提供调试消息,这些消息在对 cmdlet 代码进行故障排除时很有帮助。为了显示调试信息,cmdlet 调用 System.Management.Automation.Cmdlet.WriteDebug 方法。

默认情况下,不显示调试消息。您可以在运行 cmdlet 时指定调试参数来显示这些消息。 调试 是所有 cmdlet 都可用的通用参数。

警告输出

Cmdlet 可以通过调用 System.Management.Automation.Cmdlet.WriteWarning 方法来显示警告消息。

默认情况下,显示警告消息。不过,您可以通过使用 $WarningPreference 变量或在调用 cmdlet 时使用 VerboseDebug 参数来配置警告消息。

显示输出

对于所有写入方法调用,内容显示由特定的运行时变量决定。 System.Management.Automation.Cmdlet.WriteObject 方法除外。通过使用这些变量,您可以在代码中的正确位置进行适当的写入调用,而不必担心何时或是否应显示输出。

访问主机应用程序的输出功能

您还可以设计一个 cmdlet 以通过 PowerShell 运行时直接访问主机应用程序的输出功能。使用 PowerShell 提供的主机 API(而不是 System.Console 或 System.Windows.Forms)可确保您的 cmdlet 适用于各种主机。例如:powershell.exe 控制台主机、powershell_ise.exe 图形主机、PowerShell 远程处理主机和第三方主机。

参见

错误报告概念

Cmdlet 概述

编写 Windows PowerShell Cmdlet

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯