powershell - win_shell 完成命令但未结束进程
问题描述
我正在学习 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 行的末尾添加了一个“< NUL”以强制显示一条消息,指出返回码不是 0 - RC 是 1 - 但后来我将 Ansible 更新为 2.8,现在保留了“<”字符,所以我不能再重新创建返回码失败了。
有没有办法强制返回代码,并过滤它是否为 <= 2 或其他东西?或者更好的是,除了使用异步/轮询之外,还有其他方法可以确保作业结束,因为这会导致播放报告失败?
解决方案
您可以尝试 ansible 中的异步选项吗? https://docs.ansible.com/ansible/latest/user_guide/playbooks_async.html
推荐阅读
- r - 如何在 ggplot2 中使用线图和误差线绘制多个连续变量与因子的关系?
- r - 我无法使用 rbind 和 do.call 访问列表列表中的第三个列表
- php - 如何指定 wordpress 在默认位置以外的特定位置查找 wp-content 目录?
- c# - 为所有出现的 Rule().NotEmpty() 设置默认错误代码;
- c# - Ef Core,不同数据类型的多对多连接表复合键
- javascript - 对显示“不允许加载本地资源”错误的字符串使用 IndexOf() 方法
- javascript - 用js搜索字母的字符串
- excel - VBA:将变量设置为打开的工作表,以便在其他模块和表单中使用
- vb.net - 随机值procent进度条VB.Net
- ansible - 服务重启后ansible重新连接