何らかの理由で、文字列の配列をscriptblockのパラメーターとして渡すことができないようです。私はここで間違っていますか?
別のスクリプトから呼び出される私のスクリプト:
param(
[parameter(Mandatory=$true)]
[string[]]$myarr
)
foreach ($elem in $myarr){
$elem
}
私は別のスクリプトからそれを呼び出します
$myarr = @("111", "222")
start-job -filepath myscript.ps1 -arg $myarr
配列の最初の項目「111」のみを取得しました。
以下のように試してください:
start-job -filepath myscript.ps1 -arg (,$myarr)
-ArgumentList
は引数のリスト/配列を受け取ります。したがって、-arg $myarr
、配列の要素を引数として渡すようです。そのため、PowerShellで配列である単一の引数として扱うように強制する必要があります。