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