- A+
ansible自动化部署工具,监控windows。
本地搭建测试环境,windows 7
软件安装要求:
- python version>2.4(官方给的ansible最新安装包支持的python的环境)
- window环境(说实话,我不太喜欢windows,但是没办法啊):
- 安装Framework 3.0+
- 更改powershell策略为remotesigned
- 升级PowerShell至3.0+
- 设置Windows远端管理,英文全称WS-Management(WinRM)
配置环境:
python安装
下载并安装python http://www.python.org/ ,我这里安装的是python-2.7.3.msi,下载下来直接安装就行。
测试:cmd输入python如下,则可以了,如下图:
PowerShell升级
window7默认安装的PowerShell默认版本是2.0,如下图:
我们需要升级到3.0
首先,win+r,输入appwiz.cpl,点击左侧的已安装的更新,看一下你的计算机中是否安装了Microsoft Windows Management Framework 3.0 Beta (KB2506143),如果有的话就先把他卸载了。
然后在微软官网上下载.NET 4.0或者.NET 4.5
最后安装Microsoft Windows Management Framework 3.0的6.1内核版本安装文件,链接:http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu
安装完成后重启查询,version就是3.0了
设置Windows远端管理
winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;
winrm enumerate winrm/config/listener
针对winrm service 进行基础配置:
winrm quickconfig
查看winrm service listener:
winrm e winrm/config/listener
为winrm service 配置auth:
winrm set winrm/config/service/auth @{Basic="true"}
为winrm service 配置加密方式为允许非加密:
winrm set winrm/config/service @{AllowUnencrypted="true"}
好了,远程Windows主机配置到此结束,我们验证配置的是否有问题。
Windows下可用模块测试
ansible windows -m win_ping
传输/etc/passwd文件至远程F:\file\目录下
执行命令:
ansible windows -m win_copy -a 'src=/etc/passwd dest=F:\file\passwd'
返回结果:
192.168.1.105 | success >> { "changed": true, "checksum": "896d4c79f49b42ff24f93abc25c38bc1aa20afa0", "operation": "file_copy", "original_basename": "passwd", "size": 2563 }
部分返回结果诠释:
- “operation”: “file_copy”—执行的操作为 file_copy;
- “original_basename”: “passwd”—文件名为 passwd;
- “size”: 2563—文件大小为 2563 bytes。
Playbook写法如下:
--- - name: windows module example hosts: windows tasks: - name: Move file on remote Windows Server from one location to another win_file: src=/etc/passwd dest=F:\file\passwd
删除F:\file\passwd
执行命令:
ansible windows -m win_file -a "path=F:\file\passwd state=absent"
返回结果:
192.168.1.105 | success >> { "changed": true }
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫