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

Ansible报错‘ansible.legacy.setup重定向至ansible.windows.setup无法加载’原因排查

Ansible Windows模块重定向错误原因及解决办法

问题场景

在Windows服务器上执行Ansible剧本时,触发如下错误:

The module ansible.legacy.setup was redirected to ansible.windows.setup, which could not be loaded

剧本内容

---
- name: Test get values
  hosts: dc
  gather_facts: true
  become: true
  tasks:
  - name: Value of inventory_hostname
    debug: var={{ inventory_hostname }}

  - name: Value of ansible_hostname
    debug: var={{ ansible_hostname }}

  - name: Value of ansible_user
    debug: var={{ ansible_user }}

主机文件内容

[dc]
spwawsinfdc01

[dc:vars]
ansible_host=10.11.12.13
ansible_user=username
ansible_port=5986
ansible_connection=winrm
ansible_winrm_scheme=https
ansible_winrm_server_cert_validation=ignore
ansible_winrm_kerberos_delegation=true

执行命令

ansible-playbook -i hosts main.yaml --ask-pass

错误原因

这个错误的核心是缺少Ansible官方Windows模块集合:

  • 当Ansible通过winrm连接Windows主机时,会自动将通用的ansible.legacy.setup模块重定向到Windows专属的ansible.windows.setup模块,但如果控制节点未安装ansible.windows集合,就会触发模块加载失败。
  • Ansible核心包不包含Windows专属模块,这类模块需要单独安装对应的集合包才能使用。

解决办法

  1. 安装ansible.windows集合
    在控制节点执行以下命令完成安装:
ansible-galaxy collection install ansible.windows
  1. 临时替代方案(不推荐)
    如果暂时无法安装集合,可以关闭剧本中的事实收集功能(但会导致ansible_hostname这类依赖事实的变量无法获取):
    将剧本内的gather_facts: true修改为gather_facts: false

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:52:35