出于某种原因,看起来我不能将字符串数组作为参数传递给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".
第一个短代码,然后问题
$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)
谢谢你的回答