官方文档

用户指南

https://docs.ansible.com/ansible/latest/user\_guide/windows.html

设置Windows主机

https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html

Windows远程管理

https://docs.ansible.com/ansible/latest/user_guide/windows_winrm.html

Windows模块列表

https://docs.ansible.com/ansible/latest/modules/list_of_windows_modules.html

主机要求

  1. Ansible可以管理包括Windows7、8.1和10的桌面操作系统以及包括Windows Server 2008、2008 R2、2012、2012 R2、2016和2019的服务器操作系统。

  2. Ansible要求Windows主机上安装PowerShell 3.0或更高版本,并且至少要安装.NET 4.0。

  3. 创建并激活WinRM侦听器。

这些是Ansible连接的基本要求,但某些Ansible模块具有其他要求,例如较新的OS或PowerShell版本。请查阅该模块的文档页面,以确定主机是否满足那些要求。

升级PowerShell和.NET Framework(Server2008、Windows7和更早的系统)

略,参考官网手册

关闭UAC

控制面板/用户账号控制设置

设置winrm服务

以管理员身份运行powershell

设置执行策略

winrm invoke Restore winrm/Config
set-executionpolicy remotesigned
winrm quickconfig
winrm set winrm/config/service/auth '@{Basic="true"}'
winrm set winrm/config/service '@{AllowUnencrypted="true"}'

关闭防火墙、添加防火墙信任规则、杀毒软件添加白名单

允许5985、5986端口通过,端口-TCP特定端口,起名ansbile。

如果是公有云服务器,安全组里添加容许5985/5986这2个tcp端口。

360等杀毒软件添加白名单

测试winrm服务

创建ansible资产文件win,例子:

172.31.173.23(windows主机IP)-c winrm ansible_ssh_port=5985  ansible_winrm_server_cert_validation=ignore

进行测试

ansible -i win all -m raw -a "dir" -u Administrator -k

常见错误

问题一、PowerShell启用winrm失败:拒绝访问 0x80070005 -2147024891

结检查步骤如下:

1、确定 Windows Remote Management (WS-Management) 服务已经启动。

2、确定网络访问使用经典模式,设置为:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]

“forceguest”=dword:00000000

3、确定当前administrators组中的账户都设置了密码,而不是空密码,空密码就会报拒绝访问的错。

使用空密码只容许控制台登录登录,设置为:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]

“LimitBlankPasswordUse”=dword:00000001

4、重启服务器。

results matching ""

    No results matching ""