繁体   English   中英

C#runspace / pipeline如何执行powershell脚本?

[英]How does a C# runspace/pipeline execute a powershell script?

关于如何从C#代码执行powershell脚本有很多问题和答案,但我想知道运行空间/管道是如何执行 .ps1文件的。

我要问的上下文是这样的:我为PowerShell脚本构建了一个基本的asp.net前端,用于建立一个新的网站。 它在IIS中创建站点并设置wwwroot文件夹,日志文件夹,AD用户以及其所需的所有其他内容。 当我在powershell中以管理员身份运行它时,它非常有效。 但是,当我通过C#管道运行它时,它会通过参数绑定异常中断管道。

我不是在回答这个具体问题后 ,我只是在寻找管道如何执行我的文件的解释,这样我就可以更好地理解究竟发生了什么。

它不是关于运行空间如何工作的完整解释,但我写了一篇博文,内容涉及主要内容。

还有一个关于powershell如何工作的msdn页面的片段:

Powershell运行时作为运行空间调用,默认情况下,将同步处理命令并将处理结果传递给主机应用程序,以便将它们返回给用户。

您是否尝试过使用ILSpy或在类视图中打开类来查看该类的代码? 我一直这样做,看看Microsoft如何实现特定的类。 如果这是一个简短的答案,我会在这里粘贴代码,但System.Management.Automation.Runspaces或Microsoft.Powershell命名空间有很多。 看看你自己,你将能够看到Microsoft如何实现Powershell脚本的执行。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM