试图在C#中运行powershell脚本

tje*_*gan 3 .net c# powershell

我有一个添加防火墙规则的PS脚本.

我正在使用Process.Start("powershell.exe"," - File"+"\"C:\ Program Files(x86)\ blah\blah\add-FirewallRule.ps1 \"");

此命令在我的本地计算机上运行正常,但在测试中我一直在Windows Server 2008 R2上运行该程序,并且PS脚本将无法运行.如果我从命令行手动运行它,它运行并正常工作,但我的代码将无法正常工作.所有文件路径都是正确的(我已经检查过并且有一个同事检查它).当我运行代码时,PS控制台甚至没有弹出.

有什么建议?

Kei*_*ill 11

由于您使用的是C#,我建议使用PowerShell Invoke API而不是Process.Start.API易于使用,希望能更好地指示出现问题.