当我尝试运行一本连接到AWS EC2上托管的Windows计算机的剧本时,出现以下错误。我启用了winrm并且win_ping正常工作,但是当我调用ansible-playbook时,我不确定为什么它使用sudo就像目标计算机是Linux主机一样。
我尝试在ansible.cfg中禁用become=True
,但发生了相同的问题。
必须使用ansible_winrm_transport=ntlm
来使win_ping正常工作。我认为是造成此问题的原因。
任何帮助将不胜感激。
fatal: [10.0.150.18]: FAILED! => {"failed": true, "msg": "Internal Error: this connection module does not support running commands via sudo"}
[root@localhost ]# cat ansible.cfg
[defaults]
log_path=/var/log/ansible.log
ansible_winrm_operation_timeout_sec = 200
ansible_winrm_read_timeout_sec = 500
[privilege_escalation]
become=True
[root@localhost ]# ansible --version
ansible 2.2.0.0
[root@localhost ]# cat hosts
[localhost]
localhost ansible_connection=local
[marcel]
10.0.150.18 ansible_user=Administrator ansible_password=xxxxxxxxxx ansible_port=5985 ansible_connection=winrm ansible_winrm_server_cert_validation=ignore ansible_winrm_transport=ntlm
答案 0 :(得分:0)
请添加以下示例中的winhosts文件
[winserver]
#192.168.0.69
192.168.0.88
#Mars
[winserver:vars]
ansible_user=Administrator
ansible_password=password
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore
猜猜这应该工作