You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Ansible执行PowerShell脚本安装MSI软件本地正常远端运行失败

问题原因
  • 路径不匹配:你将PowerShell脚本上传到了C:/install/33312/Connect目录,但脚本内切换工作目录的路径是C:\hybrinstall\33312\Connect,两个路径不一致,如果后者不存在,后续MSI调用会直接失败。
  • MSI调用方式错误:PowerShell非交互式会话中未加载.msi文件的默认关联程序,直接用相对路径调用.\\installer.msi无法触发安装流程,需显式调用msiexec.exe执行安装包。
  • 权限上下文配置错误:Ansible针对Windows节点的become默认未指定runas方法,且WinRM默认传输协议的会话权限受限,无法满足系统级MSI安装的权限要求。
  • 工作目录不稳定:Ansible执行win_shell时默认工作目录不是脚本所在目录,相对路径的日志和安装包调用会出现找不到文件的问题。
解决方案

1. 修正PowerShell安装脚本

替换installconnect.ps1内容为如下版本,全部使用绝对路径,显式调用msiexec并等待安装完成:

$installRoot = "C:\install\33312\Connect"
# 确保工作目录存在
if (-not (Test-Path $installRoot)) {
    New-Item -ItemType Directory -Path $installRoot -Force | Out-Null
}
# 显式调用msiexec执行安装,全路径指定安装包和日志文件
$installProc = Start-Process msiexec.exe -ArgumentList "/i `"$installRoot\installer.msi`" /q /l*v `"$installRoot\install_log.txt`"" -Wait -NoNewWindow -PassThru
# 输出安装退出码,方便Ansible排查问题
exit $installProc.ExitCode

2. 修正Ansible Playbook配置

调整become参数和WinRM传输协议,明确文件上传路径:

---
- hosts: wins
  vars:
    # 配置Windows提权方式为runas
    ansible_become_method: runas
    ansible_become_user: Administrator
    # 用CredSSP传输协议获得完整系统权限
    ansible_winrm_transport: credssp
  tasks:
    # 可选:提前同步MSI安装包到目标节点,如果节点上已经有可以跳过
    - name: 同步MSI安装包
      win_copy:
        src: /etc/ansible/installer.msi
        dest: 'C:\install\33312\Connect\installer.msi'

    - name: 同步安装脚本
      win_copy:
        src: /etc/ansible/installconnect.ps1
        dest: 'C:\install\33312\Connect\installconnect.ps1'

    - name: 执行安装流程
      win_shell: C:\install\33312\Connect\installconnect.ps1
      become: yes

3. 额外检查项

  • 确认目标Windows节点的PowerShell执行策略允许运行自定义脚本,可在Playbook中新增任务配置:
    - name: 设置PowerShell执行策略
      win_shell: Set-ExecutionPolicy RemoteSigned -Force
      become: yes
    
  • 安装完成后可到目标节点的C:\install\33312\Connect\install_log.txt查看安装日志排查异常。

内容的提问来源于stack exchange,提问作者ANANTH AYYASWAMY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:24:03