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

Ansible win_package处理含括号的注册表product_id时无法运行怎么解决?

问题根因

你遇到的配置失效不是product_id里的括号本身不合法,而是YAML语法的解析规则导致的:YAML会默认将以{开头的内容识别为内联字典结构,你当前的写法没有明确标记该值为字符串类型,所以Ansible解析配置时会把product_id的内容当成非法字典处理,最终导致卸载逻辑异常,这也刚好符合你排查到的「不带括号的product_id均可正常卸载」的现象。

解决方案

只需要明确将product_id的值标记为字符串即可,推荐用双引号包裹整个product_id取值,修正后的配置如下:

- name: Uninstalling Total Commander IT Edition
  win_package:
    product_id: "{7E25FC96-BC45-4D1C-AA24-2D147AD2B8D0}_is1"
    state: absent
    arguments: /7

如果用双引号包裹后仍然有异常,也可以尝试用单引号包裹,或者在取值前加上!!str强制声明为字符串类型:

product_id: !!str {7E25FC96-BC45-4D1C-AA24-2D147AD2B8D0}_is1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:48:03