相关疑难解决方法(0)

如何将数组作为参数传递给另一个脚本?

出于某种原因,看起来我不能将字符串数组作为参数传递给scriptblock.我在这做错了什么?

我的脚本是从另一个脚本调用的:

param(
    [parameter(Mandatory=$true)]
    [string[]]$myarr
)

foreach ($elem in $myarr){
    $elem
}
Run Code Online (Sandbox Code Playgroud)

我把它从另一个脚本称为

 $myarr = @("111", "222")
 start-job -filepath myscript.ps1 -arg $myarr
Run Code Online (Sandbox Code Playgroud)

我只得到了数组中的第一项 - "111".

arrays parameters powershell arguments

53
推荐指数
1
解决办法
9万
查看次数

Invoke-Command中的ArgumentList参数不发送所有数组

第一个短代码,然后问题

$session = New-PSSession -ComputerName someServer

$servicesList = "Service1", "Service2", "Service3"

Invoke-Command -ScriptBlock {
    Param ($newServicesList)

    Write-Host $newServicesList

} -ArgumentList $servicesList -Session $session

Remove-PSSession  $session
Run Code Online (Sandbox Code Playgroud)

问题是为什么Invoke-Command块中的Write-Host只给出这个输出?

Service1
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答

powershell powershell-2.0 invoke-command

7
推荐指数
1
解决办法
1万
查看次数