Я использую PowerShell v1.0 (это требование, которое я не могу использовать 2.0), и у меня возникают проблемы при попытке программно перехватить вывод командлета в поток предупреждений.
В Powershell 2.0 это просто:
var powerShell = PowerShell.Create();
powerShell.AddCommand(someCommand);
powerShell.Invoke();
foreach (var warning in powerShell.Streams.Warning) { ... }
Однако класс System.Management.Automation.PowerShell не существует в PowerShell версии 1, и существующие классы, по-видимому, не предоставляют доступ к потоку предупреждений. Кроме того, информация о потоке предупреждений не помещается в стандартный вывод командлета.
Спасибо!
Sam