c# - 使用 Powershell 类在 c# 中运行 Powershell 脚本
问题描述
我知道这个问题被问了很多。但是没有一个解决方案对我有帮助。
我的脚本不会运行。当我使用 Powershell 执行它时,它可以工作。但不适用于此 C# 代码:
using (PowerShell ps = PowerShell.Create())
{
ps.AddScript(@"& 'MyPathToTheScript'");
ps.Invoke();
}
如您所见,我尝试了 AddScript 和 AddCommand,但都无法运行我的脚本。我按照我在 Microsoft Docs 上看到的说明进行操作:
除了我不需要任何参数:)
编辑#1
我的 PowerShell 脚本,需要以管理员身份运行。这可能是问题吗?脚本运行,但由于“访问被拒绝”而引发错误?
我可以从 C# 执行此操作,还是必须在脚本中添加它?
谢谢你的帮助 :)
解决方案
我没有使用 SDK,但如文档中所述,似乎包括AddScript
创建命令管道在内的方法,Invoke
应该在它们上调用。
所以也许你应该像下面这样使用它:
using (PowerShell ps = PowerShell.Create().AddScript("YourPathToTheScript"))
{
ps.Invoke();
}
推荐阅读
- python - 如何在拆分中添加条件应用组合并在每一行上重复解决方案?
- angular - Angular中的FromEvent
- dotnetbrowser - dotnetbrowser - 铬版本升级
- javascript - 如何在多个文本上添加计数器
- java - 为什么快速排序需要递归“排序”小节?
- python - Python3——对象路径……坏了?
- npm - npm publish 给出“无范围的包不能是私有的”
- swift - 安全区域布局指南不适用于 UITableView 的 BackgroundView
- bash - 如何从 bash 循环的输出创建表格矩阵?
- javascript - 如何在不使用 slurp 标志的情况下将 JSON 序列与 jq 组合?