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

har*_*ace 6 c# powershell

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

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

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

Ada*_*ite 1

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

希望这可以帮助。