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

为什么Ansible的win_regedit模块无法修改Windows注册表值?

问题原因

  • 核心错误是混淆了PowerShell命令参数与Ansible win_regedit模块的参数定义:ansible.windows.win_regedit 模块用于指定注册表值内容的参数是 data,而非你当前使用的 value。
  • 从你提供的 -vvv 调试输出可以验证:模块实际接收到的 name 参数值为 "0",你填写的 value 参数属于模块无法识别的无效参数,导致参数错位,模块实际在检查路径下名为0的无关注册表值是否为0,完全没有读取到目标键fDenyTSConnections的当前值,自然判定无需修改,返回changed: false。

解决方案

将任务配置中的value参数替换为data即可,正确配置如下:

- name: Set Registry key to enable RDP
  ansible.windows.win_regedit:
    path: 'HKLM:\System\CurrentControlSet\Control\Terminal Server'
    name: 'fDenyTSConnections'
    data: 0
    type: dword

如果修改后仍存在参数解析异常,可升级ansible.windows集合到最新稳定版本,避免旧版本的参数处理bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:27:03