我尝试使用数组参数调用部署后操作powerShell脚本,但没有成功。
这是脚本:
param(
[string[]]$ModelNameList = "DefaultModelName"
)
Write-Host "Number of Models is: $($ModelNameList.Count)"
这是部署后的命令行:
%windir%\sysnative\windowspowershell\v1.0\powershell -File "$(ProjectDir)Scripts\Post_Deployment\Script.Post-Deployment.ps1" -ModelNameList "m2","m1"
结果:模型数量为:1
在SharePoint2010 Management Shell中运行相同的脚本会返回正确的结果。
结果:模型数量为:2
答案 0 :(得分:0)
CMD
对PowerShell数组一无所知,因此它将"m2","m1"
作为单个字符串传递给powershell脚本。添加
Write-Host $ModelNameList[0]
Write-Host $ModelNameList[0].GetType()
到您的PowerShell脚本。我认为你必须在你的脚本中拆分参数:
if ($ModelNameList[0] -match ',') {
$ModelNameList = $ModelNameList[0].Split(',')
}