写点什么

Ansible 管理 Windows 机器配置过程。

用户头像
耳东
关注
发布于: 54 分钟前

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 管控机器

yum install ansible -ypip install pywinrm 
复制代码


如果管理的 Windows 机器有域控,那么还需要安装 kerberos

3 配置 Windows 机器

查看版本 打开 powershell (win+r ,输入 powershell 然后回车)


get-host
复制代码

3.1 安装 framework

本次安装的是 framework 4.5,最低要 3.0


http://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_x86_x64.exe

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 中执行


winrm qc 
复制代码


会询问 “是否执行这些更改” 输入 y 确定执行更改。


设置 Auth 的 Basic 为 true ,service 中的 AllowUnencrypted 为 true


winrm set winrm/config/service '@{AllowUnencrypted="true"}'winrm set winrm/config/service/auth '@{Basic="true"}'
复制代码


查看配置使用 winrm get winrm/config

4 功能测试

配置 ansible 控制机配置方法有两种:第一种:在/etc/ansible/hosts 中


[windows]192.168.1.100[windows:vars]ansible_ssh_user="Administrator"ansible_ssh_pass="paratera"ansible_ssh_port=5985ansible_connection="winrm"ansible_winrm_server_cert_validation=ignore
复制代码


第二种在/etc/ansible/hosts 中


[windows]192.168.1.100 ansible_ssh_user="Administrator" ansible_ssh_pass="paratera" ansible_ssh_port=5986 ansible_connection="winrm"
复制代码


要注意的是 端口方面 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


发布于: 54 分钟前阅读数: 2
用户头像

耳东

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
Ansible 管理 Windows 机器配置过程。