在Powershell应用程序部署工具包中安装多个iTunes MSI

在Powershell应用程序部署工具包中安装多个iTunes MSI,powershell,itunes,powershell-4.0,Powershell,Itunes,Powershell 4.0,有人告诉我,我必须跨PSADT将iTunes部署到Windows机器上。我不想运行完整的.exe,而是希望部署单个MSI文件 $msi = @("$dirFiles\iTunes 64iTunes6464.msi", "$dirFiles\AppleApplicationSupport64.msi", "$dirFiles\Bonjour64.msi") foreach($_ in $msi) {Start-Process -FilePath msiexec -A

有人告诉我,我必须跨PSADT将iTunes部署到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的新功能和每个应用程序的各种不同要求让我完全不知所措


是否有一些明显的东西我遗漏了,或者是我用脚本构造找错了树?

-ArgumentList
需要一个字符串或字符串数组-因此您需要使用如下内容

$ToInstall = ("iTunes 64iTunes6464.msi", "AppleApplicationSupport64.msi", "Bonjour64.msi")
foreach($Msi in $ToInstall){
    Start-Process -FilePath 'msiexec' -ArgumentList "/i ""$($dirFiles + '\' + $Msi)"" /passive" -Wait
}
目前它正在尝试在
-ArgumentList
转换为字符串,但不知道在哪里停止


让我知道这是否适合您。

这将启动安装程序(如前所述),但立即完成。看起来不像是把MSI文件作为present@user001抱歉,那是因为我是个输入变量名的白痴。请使用更新的版本再试一次?确实如此,而且您不是唯一一个键入错误的人。我自己打错了iTunes6464安装程序@user001啊哈-只要它最终能工作-很高兴我能帮上忙。谢谢你(特别是你实际解释了-ArgumentList要求)