我正尝试通过PowerShell在多台服务器上远程安装软件。 我的脚本运行良好,但有一个问题。
我有2个脚本,所以我不必因为Kerberos双跳而重新配置安全策略。
第一个脚本是将安装程序的任何所需数据复制到本地计算机,将数据复制到目标服务器,然后调用第二个脚本
第二个脚本正在执行旧应用程序的卸载,新应用程序的安装以及目标设备上临时数据的清理。
问题是,在执行卸载或安装命令安装期间始终失败。事件日志表示安装已启动,但失败并显示错误1603.如果我使用Enter-PSSession
进行尝试,则可以正常运行。
这不起作用:
foreach ($comp in $computers.split()) {
Invoke-Command -ComputerName $comp -ScriptBlock {
msiexec.exe /i "c:\temp\MYAPP.msi" /L*V "C:\temp\LOG.log" /passive
}
}
这是有效的:(不要使用它,因为它不安全)
Enter-PSSession serverX
msiexec.exe /i "c:\temp\MYAPP.msi" /L*V "C:\temp\LOG.log" /passive
exit
你们中有谁知道这个问题的原因或解决方法是什么?