Ansible执行win_ping连接Windows主机找不到winrm连接插件问题求助
问题根因
报错信息已明确指向问题:Ansible识别到的连接插件名称是winrm ## The kind of connection which ansible will make with remote windows node,而非预期的winrm,说明配置文件中ansible_connection参数后误带了注释内容,导致参数值解析异常。
注意:Ansible的inventory INI格式不支持在参数值同一行加
#开头的内联注释,所有注释必须单独占一行,否则注释内容会被当作参数值的一部分。
解决步骤
- 打开
/etc/ansible/hosts文件,找到[win:vars]段的ansible_connection配置行,删除该行末尾的注释内容,所有注释单独占行书写 - 修正后的
[win:vars]配置参考如下:
[win:vars] ansible_user=a ansible_password="xxxx" # 连接Windows使用winrm协议 ansible_connection=winrm ansible_winrm_server_cert_validation=ignore ansible_port=5986
- 确认Ansible控制节点已安装winrm依赖,执行命令
pip install pywinrm完成安装,避免后续出现依赖缺失报错 - 配置修改完成后重新执行
ansible win -m win_ping验证连通性即可
内容的提问来源于stack exchange,提问作者Stefan Deller
相关产品推荐
相关产品推荐

