官方文档

用户指南

https://docs.ansible.com/ansible/latest/user_guide/windows.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

win主机要求

https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html
  1. Ansible可以管理包括Windows7、8.1和10的桌面操作系统以及包括Windows Server 2008、2008 R2、2012、2012 R2、2016和2019的服务器操作系统。

  2. 如果是Server 2008,必须安装SP2。如果是Server 2008 R2或windows 7必须安装SP1。

  3. Windows Server 2008只能安装PowerShell 3.0.

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

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

win关闭UAC

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

win设置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服务

在bigops主机上编辑ansible的资产文件win

vi 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

Windows域主机如何设置?

启用NTLM2身份验证

https://docs.microsoft.com/zh-cn/troubleshoot/windows-client/windows-security/enable-ntlm-2-authentication

cmd运行gpedit.msc

选择【安全选项】

默认【没有定义】,右键点击【属性】

下拉选择一个选项后点击【确定】,设置置域中的 NTLM身份验证生效

在powershell中执行命令

winrm configSDDL default

添加控制用户,允许全部控制

常见错误

问题一、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 ""