在Powershell App Deployment Toolkit中安装多个iTunes MSI

时间:2017-10-13 09:19:30

标签: powershell itunes powershell-v4.0

被告知我必须将PSADT部署到Windows机器上。我不想运行完整的.exe,而是希望部署单独的MSI文件。

$msi = @("$dirFiles\iTunes 64iTunes6464.msi", "$dirFiles\AppleApplicationSupport64.msi", "$dirFiles\Bonjour64.msi")
        foreach($_ in $msi)
        {Start-Process -FilePath msiexec -ArgumentList /i, $_, /passive -Wait}

它正在拾取阵列并且正在循环,但我在每个文件上都收到参数错误。 PS的新功能和每个应用程序的各种不同要求完全让我失望。

我遗失了一些愚蠢的东西,还是我用脚本构造咆哮了错误的树?

1 个答案:

答案 0 :(得分:1)

-ArgumentList采用字符串或字符串数​​组 - 因此您需要使用类似下面的内容。

$ToInstall = ("iTunes 64iTunes6464.msi", "AppleApplicationSupport64.msi", "Bonjour64.msi")
foreach($Msi in $ToInstall){
    Start-Process -FilePath 'msiexec' -ArgumentList "/i ""$($dirFiles + '\' + $Msi)"" /passive" -Wait
}

目前它正在尝试转换后的东西 -ArgumentList成一个字符串,但不知道在哪里停止。

请告诉我这是否适合您。