搭建Ansible控制Windows操作环境
系统环境:一台centos 7服务器,两台windows2008R2客户机
IP地址:centos:172.16.21.188 win2008:172.16.21.186/190
操作思路:centos上安装ansible 远程控制两台win2008执行命令
执行结果:成功批量执行远程操作命令
一,在centos服务器上先安装必要的软件环境
1.1,安装pip:
输入命令:yum install –y Python-pip 如下图
1.2,利用pip安装 winrm
输入命令:pip install pywinrm 如下图
1.3,接下来开始安装ansible
输入命令:yum install –y ansible 如下图
1.4,下面开始编辑ansible 配置文件 先来查看一下安装路径
输入命令cd /etc/ansible 如下图
Ansible.cfg:此项为ansible的配置文件
Hosts: 此项为ansible的资源清单,就是需要连接的主机列表
Roles: 此项用于层次性、结构化地组织playbook
1.5,下面进行修改配置ansible 主机列表
输入命令:vim hosts 进入 如下图
1.6,开始配置一下,由于是连接windows客户端 所以需要添加一些额外的配置选项如下图
二,配置Windows服务器使用环境
2.1. 首先升级.net framework至4.5
.net framework 4.5
Powershell 升级到4.0以上 先检查是否为4.0以上如果是就不用了打开power shell 输入命令:get-host 如下图
Powershell 4.0
升级完毕后重启windows.
2.2. 配置客户端winrm
2.2.1 管理员模式下运行powershell,查看power shell执行策略
输入命令:get-executionpolicy 如下图
如果返回的结果是restricted就不用更改了 如果不是 就要改成restricted
输入命令:set-executionpolicy remotesigned
2.2.2 配置winrm service并启动服务 输入命令:winrm quickconfig 如下图
2.2.3 查看winrm service启动监听状态
输入命令:winrm enumerate winrm/config/listener 如下图
2.2.4 修改winrm配置,启用远程连接认证
输入命令:winrm set winrm/config/service/auth ‘@{Basic=“true”}’
winrm set winrm/config/service ‘@{AllowUnencrypted=“true”}’ 如下图
2.2.5 关闭防火墙
三,执行命令,环境配置完毕后下面开始进行ping的测试命令
3.1在ansible服务器上
输入命令:ansible windows –m win_ping 如下图
看到这里证明ansible可以远程到Windows上执行命令
3.2 环境已经调试完毕 后续 ansible只需要在hosts里面添加主机地址就可以执行了,Windows端全都按照此文档的二大项进行配置即可
下面进行一个获取服务器时间的操作
3.3 在ansible上
输入命令:ansible –i /etc/ansible/hosts windows –m win_shell –a “date”如下图
ansible –i /etc/ansible/hosts windows –m win_shell –a “date”
命令分析:
-i 是指定路径,/etc/ansible/hosts windows 这个就是主机列表所在的位置以及组名,
-m 是要执行的模块,win_shell是Windows的power shell
-a 指定参数,
date 是所执行的命令,
总体一句话概况,利用ansible 在/etc/ansible/hosts windows这些地址上的power shell里面远程批量执行 date这个命令