我想将几个parameters发送到function中,其中之一是array
在调用function之前,数组包含多个项目,通过函数内的调试器查找时,arrayempty\null:

$arr = New-Object System.Collections.ArrayList
$arr.Add("test1")
GetProcessOutput -exeFile "c:\file.exe" -args $arr

function GetProcessOutput($exeFile, $args)
{
    # here my $args is empty -> children could not be evaluated
}

最佳答案

$argsautomatic variable,这意味着您无法将args名称用于用户定义的变量。

使用任何其他名称,它将起作用:

function GetProcessOutput([string]$exeFile,[array]$arguments)
{
    # $arguments will work just fine
}

about_Variables help file:

08-26 23:19
查看更多