vars:
- windowsLogonAccount: NT AUTHORITY\SYSTEM
tasks:
- name: Install Agent via CMD
win_command: "config.cmd --windowsLogonAccount '{{ windowsLogonAccount }}'"
args:
chdir: "c:/agent"
我正在尝试将一个反斜杠通过 Ansible 传递到 Windows。我尝试过双反斜杠“\\
”并且尝试过{{ var |安全}}
,但运气不好。我希望社区中的有人能为我指明正确的方向。我不敢相信它和我见过的使用替换和正则表达式的其他一些例子一样复杂......
我尝试的所有操作都不断出现双反斜杠:
2021-10-19T04:45:52.8643709Z TASK [Get Variable Output to Screen] *******************************************
2021-10-19T04:45:52.9042957Z "msg": "My Variable Test Area 'NT AUTHORITY\\SYSTEM'"
最佳答案
----已解决----
所以这是 Ansible 输出到终端的独特之处。它们以有效的 JSON 格式写入输出,从而“自动”转义输出中的反斜杠等特殊字符。但运行时传递的实际值不包含两个反斜杠。我发布此内容是为了防止其他 Ansible 菜鸟遇到这种意外情况。
屏幕输出示例:
2021-10-19T04:46:11.6003956Z:[计算机名]:已更改! => {"changed": true, "cmd": "config.cmd --unattend --windowsLogonAccount 'NT AUTHORITY\SYSTEM'
主机的实际输出:
config.cmd --unattended --windowsLogonAccount 'NT AUTHORITY\SYSTEM'
关于windows - Ansible 2.9 - 转义从变量传递到 win_command 的单个 "\"反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69621919/