使用Invoke-Command将数组传递给另一个脚本

Sam*_*eer 6 arrays powershell invoke-command

我一直试图解决这个问题.我已经看过其他文章,并尝试了一切,但我没有得到任何地方.我试图将一个数组作为参数传递给另一个PS脚本.这是我正在尝试的:

$IPArray = Get-Content C:\ListofIps.txt
Invoke-Command -Computername $server -Credential $cred -FilePath "C:\script.ps1" -ArgumentList (,$IPArray)
Run Code Online (Sandbox Code Playgroud)

$ IPArray中的5个值未传递给我调用的脚本.

在此先感谢,伙计们,我真的很感激您能给予的任何帮助......

Kei*_*ill 12

使用:

... -ArgumentList (,$IPArray)
Run Code Online (Sandbox Code Playgroud)

因为ArgumentList参数需要一个数组,所以你已经正确地指出你需要将数组包装在另一个数组中.但是,此方案中的正确语法(指定参数值)是使用分组表达式()来创建嵌套数组.

  • `@()`对数组没有任何作用.也就是说,如果`@()`的内容是标量,那么该标量放在数组中,但如果内容已经是数组,则该数组不会包含在附加数组中. (2认同)