小编Joh*_*kes的帖子

将PowerShell参数传递给Process.Start

我试图将我的一些bat脚本转换为C#.除了PowerShell执行行之外,我已移植整个程序.

为了简单起见,我试图从cmd调用PowerShell命令.我能够这样做,但它没有采用与PowerShell命令一起的复杂参数和参数.

如果我直接从cmd或bat文件运行,这是命令.

powershell -Command "& {asnp 'citrix*'; remove-BrokerTag -Name 'Somename' -Machine 'domain\server' -AdminAddress 'SomeServer';}"
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码调用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);
Run Code Online (Sandbox Code Playgroud)

我收到此错误 "由于缺少参数,无法处理命令.命令必须遵循-Command."

正如您所看到的,这个PowerShell命令中有很多参数.

有更简单的方法吗?或者我只是遗漏了一些简单的东西?

c# powershell command-line-arguments

5
推荐指数
1
解决办法
460
查看次数

标签 统计

c# ×1

command-line-arguments ×1

powershell ×1