我正在编写一个C#应用程序,它需要使用命令行参数执行Powershell脚本并检索输出(也就是我期望在PowerShell ISE的输出窗口中看到的内容 - 包括异常信息)
我找到了许多使用PowerShell V1对象完成此任务的代码示例.这些示例创建了运行空间,管道等(例如,使用命令行参数从C#执行PowerShell脚本)
我已经看到一些使用PowerShell V2的不同方法的一些参考.(这里的最佳答案:在Pipeline.Invoke抛出后在C#中捕获Powershell输出)使用V2似乎更简单.没有弄乱运行空间,piplines或其中任何一个.像这样的东西:
PowerShell powerShell = PowerShell.Create();
powerShell.AddScript(script);
var results = powerShell.Invoke();
Run Code Online (Sandbox Code Playgroud)
有没有什么好的工作示例使用PowerShell V2对象从C#代码中执行脚本?是否有任何已知的PowerShell V2(甚至V3)对象的良好文档以及如何使用它们的最佳实践?来自微软的官方文档应该是什么?一个好的书或网站,一个一个地分解System.Management.Automation组件?