我正在尝试使用以下命令在远程服务器上安装.msi:
psexec \\computername -u adminname -p password -s -i msiexec.exe /i C:\share\myfile.msi
当我启动它时,我看到远程进程资源管理器中的msiexec.exe进程,但进程似乎处于空闲状态,并且在我关闭父进程(psexec)之前它一直保持这种状态。 我知道msi在远程机器的C:\驱动器中直接创建了一些文件夹,所以管理员可能有问题吗?我给的-u和-p在遥控器上有管理员权限。
psexec -u adminname -p password -s -i msiexec.exe /i C:\share\myfile.msi
可以直接在遥控器上输入。我做错了什么事?
更新:如果我在启动psexec后删除了-i我的msiexec.exe退出代码为0。
更新2 :我尝试使用c#和WMI在同一台服务器上执行相同的操作,但是出现以下错误:发生了特定于安全程序包的错误。 (HRESULT的异常:0x80070721)也许它们都来自同一个问题/安全选项。
答案 0 :(得分:2)
我通过将msi文件复制到远程服务器来解决了我的问题。
Copy-Item FileToInstall.msi -Destination \\Server\C$\DestinationFolder
psexec \\Server cmd /c "msiexec.exe /i C:\DestinationFolder\FileToInstall.msi /quiet /norestart"
答案 1 :(得分:0)
Psexec需要知道远程工作目录(-w)尝试:
psexec \\computername -u adminname -p password -w c:\share -s -i msiexec.exe /i myfile.msi
答案 2 :(得分:0)
你应该加/ in!要禁止ui并添加/ l * v log.txt以生成日志文件
答案 3 :(得分:0)
尝试传递-h以强制提升。它为我解决了同样的问题!在你的情况下:
psexec \\ computername -h -u adminname -p password -w c:\ share -s -i msiexec.exe / i myfile.msi