如何在 v1.0 中以编程方式从 PowerShell cmdlet 获取警告输出?

发布于 2024-08-24 00:41:09 字数 427 浏览 11 评论 0原文

我正在使用 PowerShell v1.0(这是我不能使用 2.0 的要求),并且在尝试以编程方式捕获警告流中的 cmdlet 输出时遇到问题。

在 Powershell 2.0 中,这很简单:

var powerShell = PowerShell.Create();
powerShell.AddCommand(someCommand);
powerShell.Invoke();

foreach (var warning in powerShell.Streams.Warning) { ... }

但是,PowerShell 版本 1 中不存在 System.Management.Automation.PowerShell 类,并且存在的类似乎无法访问警告流。此外,警告流信息并不位于 cmdlet 的标准输出中。

谢谢! 山姆

I'm using PowerShell v1.0 (It is a requirement that I cannot use 2.0) and am having trouble trying to programatically capture the cmdlet output in the Warning stream.

In Powershell 2.0 it's easy:

var powerShell = PowerShell.Create();
powerShell.AddCommand(someCommand);
powerShell.Invoke();

foreach (var warning in powerShell.Streams.Warning) { ... }

However, the System.Management.Automation.PowerShell class doesn't exist in PowerShell version 1, and the classes that do exist don't seem to give access to the warning stream. In addition, the warning stream information does not sit in the standard output from the cmdlet.

Thanks!
Sam

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

趁微风不噪 2024-08-31 00:41:09

您始终可以实现主机接口(自定义主机) 然后警告消息将直接发送给您。这不是一个芯片射击,但我能想到的 V1.0 的唯一东西。

You can always implement the host interface (custom host) and then warning messages will get sent directly to you. It's not a chip-shot but the only thing I can think of for V1.0.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文