从Ansible控制主机执行批处理脚本无法正常工作

时间:2018-12-15 16:06:35

标签: batch-file ansible

我有以下非常简单的批处理脚本来安装Visual Basic 2017生成工具。

C:\packages\visualstudio2017buildtools\vs_buildtools.exe --add Microsoft.VisualStudio.Workload.DataScience --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.NetCoreTools --add Microsoft.VisualStudio.Workload.Universal --includeOptional --includeRecommended --noweb --quiet

当我在服务器上本地执行此脚本时,在从ansible控制主机执行该脚本时,一切正常,但未安装该软件。尝试了很多事情,例如从ansible控制主机调用脚本,并在将脚本复制到远程服务器后尝试在本地执行脚本。看起来脚本正在执行,并且从安装程序中复制了几个dll,但从未安装实际的软件/组件。

知道我可能会缺少什么吗?

示例性任务:

- name: Invoke batch script to install Build Tools
  win_command: install.bat
  args:
    executable: cmd
    chdir: '{{ buildtools_dst_dir }}\visualstudio2017buildtools\'
    creates: '{{ buildtools_dst_dir }}\do_not_run_buildtools\'

1 个答案:

答案 0 :(得分:0)

更新: 从ansible运行时,好像我在批处理脚本中缺少--wait参数。添加即可解决问题。