Msi不在具有代码0的psexec:msiexec exit的远程服务器上运行

时间:2013-06-22 17:13:36

标签: powershell psexec msiexec

我正在尝试使用以下命令在远程服务器上安装.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)也许它们都来自同一个问题/安全选项。

4 个答案:

答案 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