2016-10-04 5 views
1

Я пытаюсь написать однострочный файл, чтобы использовать некоторые возможности netbackup удаленно. Я знаю, как передать параметры Invoke Command с использованием -args [0] и [1] в конце с повторяющимися параметрами. Пример того, что я пытаюсь выполнить:Powershell - передать несколько параметров команде Invoke-

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} 

После получать ввод пользователя и объявления параметров, это, кажется, не переходить к 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 

ответ

1

Использование парам ($ знач1, ...) внутри скрипта, чтобы передать аргументы.

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

Больше информации и синтаксиса можно найти в разделе ArgumentList (псевдоним Args) для Invoke-Command командлета.

0

Возможно, у вас возникла проблема с тем, как вы расширяете свои переменные, и, следовательно, может показаться, что аргументы не передаются правильно, когда я отлаживаю. Я просто использую , чтобы написать результат. Например:

Invoke-Command -ComputerName localhost -ScriptBlock {write "C:\Program Files\Veritas\NetBackup\bin\admincmd\bpplinfo.exe CC0SITE_VMW_BRON -set -L -M CC0SITEb0100d0a.s0SITE.CC.DOMAIN.com"} 
Invoke-Command -ComputerName localhost -ScriptBlock {write "C:\Program Files\Veritas\NetBackup\bin\admincmd\bpplinfo.exe $($args[0])0$($args[1])_VMW_BRON -set -L -M $($args[0])0$($args[1])b0100d0a.s0$($args[1]).$($args[0]).DOMAIN.com"} -Args "CC", "SITE"