Jak przekazać tablicę jako parametr do innego skryptu?

Z jakiegoś powodu wygląda na to, że nie mogę przekazać tablicy łańcuchów jako parametru do scriptblock. Co ja tu robię źle?

Mój skrypt, który jest wywoływany z innego skryptu:

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

foreach ($elem in $myarr){
$elem
}

Nazywam to z innego skryptu jako

 $myarr=@("111","222")
 start-job -filepath myscript.ps1 -arg $myarr

Otrzymałem tylko pierwszą pozycję w tablicy - " 111 "

Author: Dot NET, 2011-08-22

1 answers

Spróbuj jak poniżej:

start-job -filepath myscript.ps1 -arg (,$myarr)

-ArgumentList pobiera listę / tablicę argumentów. Więc kiedy dajesz -arg $myarr, to tak, jakbyś przekazywał elementy tablicy jako argumenty. Musisz więc wymusić, aby PowerShell traktował go jako pojedynczy argument, który jest tablicą.

 69
Author: manojlds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-29 09:19:20