我正在使用此命令从我的 CentOS 8 Ansible 服务器 ping 一个 Windows 主机
ansible windows -m win_ping
但是执行它时我得到了这个输出
windows | 失败!=> {
"msg": "winrm 或请求未安装:没有名为 winrm 的模块"
}
这是我的 Ansible hosts 文件中 Windows 机器的条目
[w10]
Windows ansible_host=10.0.10.15
[w10:变量]
ansible_user=某些用户
ansible_password=某些密码
ansible_connection=winrm
ansible_port=5986
Windows 机器上启用了 Winrm。我也pywinrm
使用以下命令安装了该模块,但它没有解决我的问题
pip3 install pywinrm
我究竟做错了什么?
答案1
模块或插件要求必须安装到使用它们的 Python 上。由于这是插件,因此必须安装到运行ansible
或ansible-playbook
脚本的 Python 上。
使用以下命令列出已安装的 pywinrm 版本:
ansible -m python_requirements_info -a dependencies=winrm localhost
如果可以找到 Python 模块,它将在键下返回valid
。
还要确认python
返回的内容与运行 ansible 时的内容相同, head -n1 $(which ansible)