在数组invoke-command中丢失元素

时间:2013-06-26 15:03:55

标签: powershell invoke-command

我正在调用一个PowerShell脚本:

function checkUrlOnSites([string[]]$urls) {
    #1
    Write-Verbose $urls.count
    $results=invoke-command -computername $computerName -ea silentlycontinue 
               -ev errRemote -scriptblock ${function:checkUrlOnSite} -args $urls
}


function checkUrlOnSite([string[]]$urls)
{
    #2
    Write-Verbose $urls.count
}

第一个Write-Verbose写入2第二个写1?我在这里想念的是什么?我的另一个字符串在哪里消失了?

1 个答案:

答案 0 :(得分:1)

以这种方式改变:

$results=invoke-command -computername $computerName -ea silentlycontinue `
               -ev errRemote -scriptblock ${function:checkUrlOnSite} -argumentlist (,$urls)

您需要使用逗号符号(,$urls)

强制参数为数组