Powershell-将多个参数传递给Invoke-Command

its*_*n2u 4 powershell invoke-command

我正在尝试编写单行代码以远程利用netbackup的某些功能。我知道如何在最后使用-args [0]和[1]将参数传递给Invoke Command,并重复参数。我要完成的示例:

CC =国家/地区代码(由于命名约定,将重复

SS =网站(也根据命名约定重复)

Invoke-Command -ComputerName RemoteServer -ScriptBlock {& "C:\Program Files\Veritas\NetBackup\bin\admincmd\bpplinfo.exe" CC0SITE_VMW_BRON -set -L -M CC0SITEb0100d0a.s0SITE.CC.DOMAIN.COM} 
Run Code Online (Sandbox Code Playgroud)

在获得用户输入并声明参数之后,它似乎没有传递给invoke-command

Invoke-Command -ComputerName RemoteServer -ScriptBlock {& "C:\Program Files\Veritas\NetBackup\bin\admincmd\bpplinfo.exe" $args[0]0$args[1]_VMW_BRON -L -M $args[0]0$args[1]b0100d0a.s0$args[1].$args[0].DOMAIN.com} -Args $CCode, $Site
Run Code Online (Sandbox Code Playgroud)

Die*_*eyn 5

在脚本块中使用param($ val1,...)传递参数。

Invoke-Command -ComputerName 'SERVERNAME' -ScriptBlock {
param($argument1, $argument2) #<--- this is required!
 write-host $CCode
 write-host $Site
} -ArgumentList ($argument1, $argument2)
Run Code Online (Sandbox Code Playgroud)

有关更多信息和语法,请参见Invoke-Command cmdlet的ArgumentList(别名Args)部分。