ansible远程windows
1、windows环境配置
系统:win10
欢迎运维萌新大佬等进qu,n,涵盖业务运维、应用运维、系统运维、网络运维、数据库运维、桌面运维、运维开发等,地区不限, 新群建立中,欢迎各位进qu,n交流业界知识~号:1027981908
winrm 版本 3.0
.Net 版本
证书的配置不做,复杂,这里仅测试http协议的
powershell 版本
$PSVersionTable.PSVersion.Major。
最好3以上可指定版本运行
将powershell策略置为remotesigned
查看当前策略: get-executionpolicy
更改策略:set-executionpolicy remotesigned
上述操作需要管理员权限
(cmd 以管理员身份打开)
winrm /? 查看命令帮助
我本机防火墙已关闭,不关闭可以添加入站规则(开放5985端口)
winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;
winrm enumerate winrm/config/listener
或者
winrm e winrm/config/listener
winrm quickconfig 可以快速配置
为winrm service 配置auth:
winrm set winrm/config/service/auth ‘@{Basic=“true”}’
为winrm service 配置加密方式为允许非加密:,这个命令要是没实现,暂时放一边,反正最后也能实现远程调用
winrm set winrm/config/service ‘@{AllowUnencrypted=“true”}’
这边开放了我测试机(linux redhat6.5 远程访问)
这边去linux机器上测试,telnet端口是通的
如果以上操作都正常。现在最终还是在Linux来测试方可判断。在Linux中使用ansible windows -m win_ping 如果成功,则才能说明windows环境已经配好。
2、补充说明
windows python版本
pip安装pywinrm
报超时错误,这个可能跟证书配置有关,偶尔网络超时,这个重试就行。
成功
3、尝试第一次ansible ping windows
报错如上,这个很有可能是linux本机未安装pywinrm或者ansible不支持。
yum 安装的ansible缺少xmltodict,需要安装upgrade_to_ps3.ps1之后,更新(未测试过);
这边用的方法是卸载ansible(备份/etc/ansible/hosts,卸载貌似也会自动备份)
安装pywinrm
安装ansible
已经安装,看版本报如下错误,重新安装显示已安装,原因是环境变量没有更新
重新更新环境变量
再测试一下,报如下错误
上面错误可能是未配置账户密码,或者账户密码错误,更改如下配置
[windows]
19.19.19.26 ansible_ssh_user=“xxxxxx” ansible_ssh_pass=“xxxxxx” ansible_ssh_port=5985 ansible_connection=winrm ansible_winrm_server_cert_validation=ignore
上述错误跟如下参数配置有关,加上即可
ansible_winrm_transport=ntlm
重新测试,成功