Powershell.exe具有许多参数(批处理) - 不允许使用错误符号

时间:2014-06-03 16:51:13

标签: powershell powercli

我有一个批处理文件,它调用PowerCLI:

powershell –noexit -command "&{add-pssnapin vmware.vimautomation.core; $host.ui.rawui.WindowTitle='PowerCLI'}"

但是我想在命令行中添加更多内容,与我拥有的另一个命令建立联结:

powershell.exe -command "& c:\scripts\Cluster.ps1 -vimHost %1 -vimuser %2 -vimpass %3" %4

我尝试将所有参数放在一行中给Powershell,但它不起作用:

c:\> powershell -version 2.0 –noexit -command "&{add-pssnapin vmware.vimautomation.core; $host.ui.rawui.WindowTitle='PowerCLI'}" .\scripts\Cluster_v1.ps1 -vimHost %1 -vimuser %2 -vimpass %3" %4

不允许使用&符号。 &运营商留作将来使用;使用"&"将&符号作为字符串传递。     + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException     + FullyQualifiedErrorId:AmpersandNotAllowed

如何在powershell命令中连接各种参数?

2 个答案:

答案 0 :(得分:0)

+1 for“将命令放在脚本中并使用-File运行脚本。”

但是我很好奇并且嘲笑了一个在PS v3上运行良好的小批量示例。如果这有助于追踪您的问题,我在一个目录中有三个文件:

“psScriptFile.ps1”,内容为:

param([string]$File,[string]$echoMe)
gci $file | select length | ft -auto
$echoMe

“so.bat”,内容为:

powershell -noExit -command "&{add-pssnapin vmware.vimautomation.core; $host.ui.rawui.WindowTitle='PowerCLI';.\psScriptFile.ps1 -file someFile.lala 'maybe extra quotes gotcha?'}"

和“someFile.lala”,其内容无关紧要。如果您可以在that比例的示例中重新创建问题,我们更有可能提供帮助。

答案 1 :(得分:0)

powershell -command“& {add-pssnapin vmware.vimautomation.core; c:\ scripts \ BuscaHostCluster_v1.ps1 -Vcenter%1 -Vuser%2 -Vpass%3%4}”

坦克!