c# - 尝试在 C# 中运行 powershell 脚本

标签 c# .net powershell

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

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

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

有什么建议吗?

最佳答案

由于您使用的是 C#,我建议使用 PowerShell Invoke API而不是 Process.Start。该 API 易于使用,希望能让您更好地了解问题所在。

关于c# - 尝试在 C# 中运行 powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6413654/

相关文章:

c# - 将日期时间转换为日期格式 dd/mm/yyyy

c# - 从剪贴板粘贴对象时出错

Powershell Hex、Int 和 Bit 标志检查

python - 如何检测我的 python 代码是否在 PowerShell 或命令提示符 (cmd) 中运行

powershell - PowerShell Commandlet的移动项可以移动当前打开的文件吗?

c# - Windows 上的 Kestrel 和 macOS/Linux 上的 Kestrel 之间的日期反序列化差异

c# - 以编程方式将 Click 事件处理程序添加到单选按钮

c# - C# 中的静态字段初始值设定项

c# - QueryObject 包含 Entity Framework

c# - 如何将一个数据表附加到另一个数据表