Ansible 管理 Windows 机器配置过程。
Ansible 非常强大,这次尝试控制 Windows 机器做一些事情。
1 环境
1.1 ansible 管控机器
OS : CentOS 7.4
Ansible :2.4.1.0
1.2 Windows 机器
OS :windows_server_2008_r2_standard_sp1_x64 617598
framework :4.5
powershell :3.0
winrm
2 配置 ansible 管控机器
如果管理的 Windows 机器有域控,那么还需要安装 kerberos
3 配置 Windows 机器
查看版本 打开 powershell (win+r ,输入 powershell 然后回车)
3.1 安装 framework
本次安装的是 framework 4.5,最低要 3.0
3.2 修改注册表
设置 powershell 本地脚本运行权限为 remotesigned
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiangnostics
修改该项下的 ExecutiomPolicy 的值为 remotesigned
3.3 升级 powershell
下载 powershell-3.0 的更新补丁,此补丁同时集成 WMF3.0,winrm 等
https://www.microsoft.com/en-us/download/details.aspx?id=34595
下载的时候选择 Windows6.1-KB2506143-x64.msu ,然后安装。安装完成后检查 powershell 的版本,可能需要重启机器。(注意:这个更新包依赖于.net3.0 以上版本,如果未安装.net,会有提示“此更新不适应于您的计算机”)
3.4 配置 winrm
在 powershell 3.0 中执行
会询问 “是否执行这些更改” 输入 y 确定执行更改。
设置 Auth 的 Basic 为 true ,service 中的 AllowUnencrypted 为 true
查看配置使用 winrm get winrm/config
4 功能测试
配置 ansible 控制机配置方法有两种:第一种:在/etc/ansible/hosts 中
第二种在/etc/ansible/hosts 中
要注意的是 端口方面 ssl 即 https 方式的使用 5986,http 使用 5985。
测试 $ ansible windows -m win_ping192.168.1.100 | SUCCESS => {"changed": false,"ping": "pong"}
区别于控制 Linux 主机,windows 主机的命令,都是使用了 win_前缀,具体支持情况请见官网http://docs.ansible.com/ansible/list_of_windows_modules.html
版权声明: 本文为 InfoQ 作者【耳东】的原创文章。
原文链接:【http://xie.infoq.cn/article/186a5d90e679e3076cfc3dd3c】。未经作者许可,禁止转载。
评论