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

Ansible 2.9 win_command传递变量时如何向Windows输出单个反斜杠

Ansible 2.9 win_command反斜杠转义问题解决方案

核心简便方案:使用argv参数列表传参

这是无需任何转义处理、完全规避转义问题的官方推荐方案,直接将命令和每个参数拆分到列表中,Ansible会自动处理特殊字符的传递逻辑,不需要手动调整反斜杠:
修改后的完整配置如下:

vars:
  # 单引号包裹变量值,YAML不会转义内部的反斜杠
  windowsLogonAccount: 'NT AUTHORITY\SYSTEM'

tasks:
- name: Install Agent via CMD
  win_command:
    argv:
      - config.cmd
      - --windowsLogonAccount
      - "{{ windowsLogonAccount }}"
  args:
    chdir: "c:/agent"

补充说明

  1. 你之前在运行日志中看到的NT AUTHORITY\\SYSTEM是日志输出时做JSON序列化的转义结果,并不等同于实际传递给Windows系统的字符,如果实际执行时报账号不存在的错误,才是真的转义异常。
  2. 不推荐用字符串拼接的方式写win_command参数,字符串嵌套会触发YAML、Ansible模板、Windows cmd三层转义逻辑,很容易出现转义冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:45:02