3

我正在使用 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 的标准输出中。

谢谢!山姆

4

1 回答 1

4

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

于 2010-03-04T14:55:21.870 回答