Por alguna razón, parece que no puedo pasar una matriz de cadenas como parámetro para scriptblock. ¿Qué estoy haciendo aquí mal?¿Cómo pasar una matriz como parámetro a otra secuencia de comandos?
Mi script que se llama desde otro script:
param(
[parameter(Mandatory=$true)]
[string[]]$myarr
)
foreach ($elem in $myarr){
$elem
}
lo llamo desde otro script como
[email protected]("111","222")
start-job -filepath myscript.ps1 -arg $myarr
consiguió sólo el primer elemento de la matriz - "111"
sí, funciona. ¿Puedes explicar porque? :) como lo entiendo, coma en() significa que en realidad es una matriz con dos matrices secundarias, ¿verdad? – mishkin
@Mishkin - La explicación sería que ArgumentList toma una lista/matriz de argumentos. Entonces cuando das '-arg $ myarr', es como si pasaras los elementos de la matriz como argumentos. Entonces debes forzar a PowerShell para que lo trate como un único argumento que es una matriz. – manojlds
¿Cómo pasaría la matriz y otra variable? -arg (, $ myarr, $ singleValue). Por ejemplo, $ singleValue = "x" – eHaze