You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible在Windows DC上执行Gather Facts失败问题咨询

故障根因分析

报错核心为Ansible的setup模块调用Get-CimInstance查询域控WMI的Root\CIMV2命名空间时返回权限拒绝,结合仅部分DC异常、其他服务器及非Gather Facts任务正常的特征,可能的原因如下:

  • 域控WMI命名空间权限配置不一致
    正常工作的那台DC单独配置了Ansible执行账号对Root\CIMV2命名空间的远程访问、启用、读取权限,其余故障DC未配置对应权限。域控默认WMI权限策略会限制普通域账号访问CIM接口,即使该账号属于本地管理员组,部分域控的UAC远程限制策略也会自动过滤管理员令牌的高权限。
    排查方法:在故障DC上运行wmimgmt.msc,右键WMI控制->属性->安全->找到Root\CIMV2->点击安全,核对Ansible使用的账号是否拥有启用账户、远程启用、读取权限。
  • 域控远程管理权限策略差异
    故障DC上应用了限制CIM远程调用的组策略,可先检查本地策略/域组策略中「计算机配置->Windows设置->安全设置->本地策略->用户权限分配」下的从网络访问此计算机、拒绝从网络访问这台计算机列表,确认Ansible执行账号没有被限制。同时检查是否存在组策略限制PowerShell远程调用时的权限提升。
  • CIM服务配置异常
    故障DC上的Winmgmt服务权限配置损坏,可尝试在故障DC上执行以下命令重置WMI库:
    winmgmt /salvagerepository
    winmgmt /resetrepository
    
    执行完成后重启Winmgmt服务再重试Ansible任务即可。
  • UAC远程限制未配置豁免
    域控默认开启UAC远程令牌过滤,即使使用管理员账号远程访问,也会被过滤掉管理员权限,需要在故障DC上添加注册表项豁免Ansible执行账号的UAC过滤,路径为HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System,添加DWORD值LocalAccountTokenFilterPolicy设置为1,如果使用域账号执行任务需要确认FilterAdministratorToken设置为0。
  • Ansible连接配置差异
    核对故障DC和正常DC的Ansible主机变量配置,确认ansible_winrm_transport、ansible_winrm_kerberos_delegation等参数配置一致,部分认证方式(比如NTLM)在域控上如果没有开启权限委派会出现CIM调用权限不足的问题,建议使用kerberos认证并开启委派,或配置ansible_winrm_transport: credssp测试验证。

内容的提问来源于stack exchange,提问作者PeGa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:27:00