加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-server-2008-r2 – 通过Powershell和WinRM启动安装程序,

发布时间:2020-12-13 23:51:20 所属栏目:Windows 来源:网络整理
导读:我目前正在使用Power shell脚本在我管理的几台 Windows Server 2008 R2服务器上远程运行一些Microsoft Hotfix安装程序.基本上,脚本将所有相应的文件复制到服务器,然后通过Invoke-Command运行安装程序,如下所示: function InstallCU { Write-Host "Installin
我目前正在使用Power shell脚本在我管理的几台 Windows Server 2008 R2服务器上远程运行一些Microsoft Hotfix安装程序.基本上,脚本将所有相应的文件复制到服务器,然后通过Invoke-Command运行安装程序,如下所示:
function InstallCU {
    Write-Host "Installing June 2013 CU..."
    Invoke-Command -ComputerName $ServerName -ScriptBlock {
        Start-Process "c:aaaprjcusp2ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive"
    }
}

如果我在服务器上本地运行“Start-Process”命令,则安装程序会正常运行.但是,当尝试远程运行时,没有任何反应(实际上,我可以看到安装程序在任务管理器中启动,但它会在几秒后关闭并且不会运行).

我试图给出Invoke-Command -Credentials,我已经关闭了服务器上的UAC,并且我确保我的WinRM设置(运行’winrm quickconfig’并将TrustedHosts设置为*)是正确的.我也尝试让Invoke-Command脚本运行本地Powershell脚本来运行安装程序并将Argument从’/ passive’更改为’quiet'(如果它无法远程启动具有UI的东西),但是再次,没有骰子.

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

好吧,我觉得有点惭愧,但我弄清楚我做错了什么.基本上,我需要将-Wait param添加到Start-Process cmdlet.最终代码如下所示:
function InstallCU {
    Write-Host "Installing June 2013 CU..."
    Invoke-Command -ComputerName $ServerName -ScriptBlock {
        Start-Process "c:aaaprjcusp2ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive" -Wait
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读