Powershell: исключение Null Array при передаче аргументов в удаленный сеанс

Я пытаюсь запустить команду в удаленном сеансе, но получаю

Невозможно индексировать нулевой массив. + CategoryInfo: InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: NullArray + PSComputerName: serverName

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

Invoke-Command -Session $session -ScriptBlock {Start-Process $args[0] -ArgumentList $args[1] -RedirectStandardOutput $args[2] -RedirectStandardError $agrs[3]} -Args $Consoledir,$arguments,$stdOutLog,$stdErrLog;

Я использую эту команду для запуска консольного приложения, которое передается в аргументе $dir (D:\Temp\console.exe). Это приложение дополнительно принимает некоторые аргументы, которые передаются в параметре $arguments.


person Deepanshu Kalra    schedule 27.03.2017    source источник
comment
Похоже, у вас опечатка: $agrs[3] =› $args[3]   -  person Mathias R. Jessen    schedule 27.03.2017


Ответы (1)


Попробуй это:

Invoke-Command -Session $session -ScriptBlock {
    Param($dir, $args, $outlog, $errlog)    
    Start-Process $dir -ArgumentList $args -RedirectStandardOutput $outlog -RedirectStandardError $errlog
} -ArgumentList $Consoledir,$arguments,$stdOutLog,$stdErrLog;
person GitGawd    schedule 27.03.2017