我有下面的代码来调用
puppet-agent
安装角色,这适用于 Linux,但是,当我使用 Windows 计算机时,它会给出 become
行错误。
如何为 Linux 和 Windows 更新以下代码。对于 Linux 包含成为,对于 Windows 排除
become
?
---
- hosts: all
become: yes
roles:
- puppet-agent
错误信息
fatal: [winhost]: FAILED! => {"msg": "The powershell shell family is
incompatible with the sudo become plugin"}
尽管我没有可用的 Windows 盒子来测试它,但值得尝试的是,如果您使用的是 Windows,则完全
omit
become
指令:
- hosts: all
gather_facts: yes
roles:
- role: puppet-agent
become: "{{ true if ansible_system == 'Linux' else omit }}"
对于 Windows,您必须使用
become_method: runas
因此您的剧本可以更新如下:
---
- hosts: all
become: true
become_method: runas
roles:
- puppet-agent
查看下面的官方文档以获取更多信息: https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_privilege_escalation.html#become-and-windows