目录标题
一.环境信息
Ansbile
操作系统:Centos 7.9
Windows
操作系统:Windows Server 2016
二.Windows主机要求
要使 Ansible 与 Windows 主机通信并使用 Windows 模块,Windows 主机必须满足以下要求:
Ansible 通常可以在 Microsoft 的当前和扩展支持下管理 Windows 版本。Ansible 可以管理包括 Windows 7、8.1 和 10 在内的桌面操作系统,以及包括 Windows Server 2008、2008 R2、2012、2012 R2、2016 和 2019 在内的服务器操作系统。
Ansible 要求在 Windows 主机上安装 PowerShell 3.0 或更高版本,并且至少要安装 .NET 4.0。
powershell 5.1安装包:
https://download.csdn.net/download/weixin_46031767/85017181
查看powerhsell版本
可以使用 $PSVersionTable.PSVersion 来查看版本,Major 5就是powershell的主版本
三.部署
1.windows
Server2008R2中默认开启该服务,从Server2012开始,该服务便集成在系统中默认开启,Win7默认安装此服务,但是默认为禁用状态,Win8,Win10默认开启。这种远程连接不会被客户端察觉到,也不会占用远程连接数!
winrm使用端口:http 5985 https 5986
开启远程管理服务winrm(**powershell**中运行命令)
①.查看powershell执行策略
get-executionpolicy
②.更改powershell执行策略为remotesigned
set-executionpolicy remotesigned
③.配置winrm service并启动服务
winrm quickconfig
④.修改winrm配置,启用远程连接认证
将client中的基本身份验证设置为true,允许
winrm set winrm/config/client/auth '@{Basic="true"}'
将service中的allowUnencrypted设置为true,允许未加密的通讯
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
2.Ansible管理主机(centos7.9)
注意:
ansible-playbook去运行yml脚本也需要pywinrm插件,命令行运行ansible命令也需要,但用postman给awx对应windows模板传参数不需要pywinrm插件
千万不要用yum安装。选择pip安装,或者二进制包安装。否则,即便安装了pywinrm插件也无法管理Windows主机。会报下面错误
1.如果安装了pywinrm还是报这个错,是因为yum安装的ansible无法调用pip安装的pywinrm插件,故而建议用pip安装ansible或者用源码包安装ansible
2.一定要安装pywinrm插件,否则管理Windows Server的时候会报错下面错误
“msg”: “winrm or requests is not installed: No module named winrm”(未安装pywinrm插件)
(1)安装pip
先安装python3
博客地址:https://editor.csdn.net/md/?articleId=122458220
官网地址:https://www.python.org/ftp/python/
# 1.上传pip包或从官网下载pip包到本地
#官网链接:https://pypi.org/project/pip/#files
[root@localhost ~]# wget https://files.pythonhosted.org/packages/52/e1/06c018197d8151383f66ebf6979d951995cf495629fc54149491f5d157d0/pip-21.2.4.tar.gz
# 2.解压缩
[root@localhost ~]# tar -xvf py3-pip-21.2.4.tar.gz -C /usr/local/
# 3.安装
[root@localhost ~]# cd /usr/local/pip-21.2.4
[root@localhost pip-21.2.4]# python3 setup.py install
# 4.检查
[root@awx pip-21.2.4]# pip --version
pip 21.2.4 from /usr/local/python3.6/lib/python3