使用C#使用V2方法使用命令行参数执行PowerShell脚本

Der*_*ore 9 c# powershell powershell-2.0

我正在编写一个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组件?

Der*_*ore 10

在这里回答我自己的问题.看起来正确的方法是我的应用程序作为PowerShell主机运行

https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85).aspx

此处定义了PowerShell V2对象的使用:http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.powershell( v= vs.85).aspx


归档时间:

查看次数:

20578 次

最近记录:

8 年,3 月 前