我正在尝试将一些批处理脚本转换成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 命令中有很多参数。
是否有更简单的方法来执行此操作?或者我只是忽略了一些简单的东西?