通过Powershell和WinRM启动安装程序并没有发生

我目前正在使用Powershell脚本在我pipe理的多个Windows Server 2008 R2服务器上远程运行一些Microsoft Hotfix安装程序。 基本上,脚本将所有相应的文件复制到服务器,然后通过Invoke-Command运行安装程序,如下所示:

function InstallCU { Write-Host "Installing June 2013 CU..." Invoke-Command -ComputerName $ServerName -ScriptBlock { Start-Process "c:\aaa\prjcusp2\ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive" } } 

如果我在服务器上本地运行“Start-Process”命令,安装程序将正常运行。 但是,当试图远程运行它时,什么都不会发生(实际上,我可以看到安装程序在任务pipe理器中启动,但几秒钟后closures,不运行)。

我试图给出调用命令-Credentials,我已经closures服务器上的UAC,并且确保我的WinRM设置(运行“winrm quickconfig”并将TrustedHosts设置为*)是正确的。 我也试着让Invoke-Command脚本运行一个本地Powershell脚本来运行安装程序,并将参数从“/ passive”改为“quiet”(以防万一它不能远程启动某个具有UI的东西)再一次,没有骰子。

还有什么我可以尝试,还是我不能做到这一点?

好吧,我感到有点惭愧,但我知道我做错了什么。 基本上,我需要将-Wait参数添加到Start-Process cmdlet。 最终的代码如下所示:

 function InstallCU { Write-Host "Installing June 2013 CU..." Invoke-Command -ComputerName $ServerName -ScriptBlock { Start-Process "c:\aaa\prjcusp2\ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive" -Wait } }