2017-03-27 46 views
1

我试图在远程会话中运行命令,但我得到一个PowerShell的:在通过参数传递给远程会话

不能索引到一个空数组空数组例外。 + CategoryInfo:InvalidOperation:(:) [],RuntimeException的 + FullyQualifiedErrorId:NullArray + PSComputerName:服务器

我都检查过了,我传递到远程会话的参数,其中没有一个是空的。以下是命令:

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参数中传递的。

+0

看起来你有一个错字:'$ AGRS [3]'=>'的$ args [3]' –

回答

0

试试这个:

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