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

Ansible执行ansible.windows.win_powershell模块时遭遇DataLoader属性错误的求助

解决Ansible 2.17 + ansible.windows 3.2.0的AttributeError问题

这个错误的核心原因是ansible.windows集合版本与Ansible 2.17核心版本不兼容。Ansible 2.17对内部的DataLoader类做了API调整,移除了get_text_file_contents方法,但你安装的ansible.windows 3.2.0版本仍然在调用这个已被移除的方法,导致抛出AttributeError。

解决方案步骤:

  1. 升级ansible.windows集合到兼容版本
    Ansible 2.17需要搭配ansible.windows 4.0.0及以上版本(官方兼容矩阵显示,ansible.windows 4.x系列适配Ansible 2.17+)。执行以下命令升级:

    ansible-galaxy collection install ansible.windows --upgrade
    

    升级完成后,你可以通过以下命令确认版本:

    ansible-galaxy collection list ansible.windows
    

    确保版本显示为4.x或更高。

  2. 清理Ansible临时文件与缓存
    有时候旧的模块缓存会导致问题,清理临时文件和缓存可以避免残留的旧代码干扰:

    rm -rf ~/.ansible/tmp
    rm -rf ~/.ansible/cache
    
  3. 重新执行Playbook
    完成上述步骤后,再次运行你的Playbook命令:

    ansible-playbook AD_config.yml --ask-pass --user xxx -e "force=true" --extra-vars "ServerName=MyServer" -vvvv
    

额外验证点:

  • 确认你的Ansible核心版本确实是2.17.14(从执行日志看是对的)
  • 检查升级后的ansible.windows集合是否安装在正确路径(~/.ansible/collections/ansible_collections/ansible/windows)

这个问题本质是版本适配问题,升级对应集合后就能解决API调用不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 12:43:11