如何用 Ansible 管理 Windows Server?Ansible 官方文档指出,需要以下两条先决条件:
– PowerShell version 3.0 or NEW
– .NET Framework 4.0 or NEW
一般情况下,Windows Server 2012 (含)以上的版本,PowerShell 和 .NET Framework 是满足以上两个条件的,那么 Windows Server 2008 如何被 Ansible 管理呢?当然如果网络条件允许的情况下,可以通过 官方脚本 自动升级,否则需要下载 离线安装包。
一、作业环境
Operating System | IP | Remark |
---|---|---|
Windows Server 2008 R2 | 172.50.1.172 | Ansible Client |
二、开始吧
1.升级 PowerShell 和 .NET Framework
- 参考本文前言超链接
- 重新启动 Windows Server 2008 R2 之后,检查升级是否成功
get-host
图1
2.开启 winrm 服务
# 1.查看powershell执行策略
get-executionpolicy
# 2.更改powershell执行策略为remotesigned【输入y确认】
set-executionpolicy remotesigned
# 3.配置winrm service并启动服务
winrm quickconfig
# 4.修改winrm配置,启用远程连接认证【这里是PowerShell的命令,如果用cmd的话,@前面的' 和 末尾的' 要去掉的】【如图2所示】
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
# 5.查看winrm service启动监听状态【如果有应答,说明服务配置并启动成功了】【如图3所示】
winrm enumerate winrm/config/listener
图2
图3
3.设置防火墙
允许 5985 端口入站通过
同网段机器,不过防火墙,端口一般都是通的,如果跨机房,需要允许 5985 通过
四、小贴士
- 升级PowerShell到4.0要先升级.Net Franmwork;
- 开启 winrm 服务在 CMD 下、PowerShell 下 语法是不一样的 ,本文是在 PowerShell 下进行的,有截图为证;