win_shell完成命令但未结束过程

时间:2019-05-31 22:42:27

标签: powershell ansible

我正在学习Ansible,并且遇到了任何地方都找不到很好的参考资料的东西-

我的目标计算机上有一个.ps1,我想通过Ansible运行它,同时还要向它传递一个变量。我的剧本非常简单:

---
- name: run stuff
  hosts: all
  gather_facts: no
  vars:
    force_all_hosts: false
  tasks:

  - name: run mounter script
    win_shell: C:\folder\file.ps1 -password (ConvertTo-SecureString "{{vault_pw}}" -AsPlainText -Force)

当我在Windows机器本地手动运行它们时,.ps1的内容起作用,因此我知道实际的命令起作用。当我运行剧本时,它也能正常运行-Powershell脚本成功运行并进行了更改-但实际任务从未完成,因此剧本无法完成。

我在win_shell行的末尾添加了“

是否有一种方法可以强制返回码,并过滤返回值是否等于2。或者更好的是,除了使用async / poll之外,还有其他方法可以确保作业结束,因为这会导致播放报告失败。

1 个答案:

答案 0 :(得分:0)

您可以在ansible中尝试使用async选项吗? https://docs.ansible.com/ansible/latest/user_guide/playbooks_async.html