【发布时间】:2019-02-09 18:18:14
【问题描述】:
我正在尝试将我的一些 bat 脚本转换为 C#。 除了 PowerShell 执行行之外,我已经移植了整个程序。
为了简单起见,我试图从 cmd 调用 PowerShell 命令。 我可以这样做,但它不采用与 PowerShell 命令一起使用的复杂参数和参数。
如果我直接从 cmd 或 bat 文件运行,这里是命令。
powershell -Command "& {asnp 'citrix*'; remove-BrokerTag -Name 'Somename' -Machine 'domain\server' -AdminAddress 'SomeServer';}"
我正在使用此代码来调用 cmd 并运行我的 powershell 命令。
string strCmdText;
strCmdText = "'/C powershell " + "-Command " + "&" + " { asnp 'citrix*'; add - BrokerTag - Name 'Somename' - Machine 'domain\server'" + (listboxvariable) + " - AdminAddress 'ServerXX'; }'" + " & pause";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);
我收到此错误 “由于缺少参数,无法处理命令。命令必须跟在 -Command 之后。”
如您所见,此 PowerShell 命令中有很多参数。
有没有更简单的方法来做到这一点?还是我只是缺少一些简单的东西?
【问题讨论】:
-
如果已经将代码转换为 C#,为什么不使用 C# 类来执行相同的操作? docs.microsoft.com/en-us/dotnet/api/…祝你好运!
标签: c# powershell command-line-arguments