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

Ansible如何配置带特殊字符的vCenter域用户名及密码变量

Ansible 域用户名与特殊字符密码变量正确配置方法

用户名(含反斜杠)配置

反斜杠丢失是因为YAML解析时会将单个反斜杠识别为转义符,可使用以下两种正确写法:

  • 写法1:使用双反斜杠保留域分隔符
    vars:
      username: 'vsphere.local\\Administrator'
    
  • 写法2:直接使用UPN格式用户名(更推荐,无需处理转义)
    vars:
      username: 'Administrator@vsphere.local'
    

含特殊字符($)的密码配置

密码末尾$1丢失是因为Ansible默认会将$开头的字符识别为变量引用,无对应变量时就会被丢弃,根据使用场景选择对应配置:

场景1:密码直接写在vars中

使用!unsafe标签标记字符串,告诉Ansible不对内容做任何解析转义,原封不动使用:

vars:
  password: !unsafe 'Test@2100$1'

场景2:使用vars_prompt交互式输入密码

给prompt参数增加unsafe: yes配置,保留输入的所有特殊字符:

vars_prompt:
  - name: password
    prompt: Enter Vcenter password to authenticate fence user
    private: yes
    unsafe: yes

验证配置正确性

可以先添加调试任务打印变量,确认内容符合预期后再执行实际业务逻辑:

- name: 打印变量确认配置
  debug:
    msg: "用户名:{{ username }},密码:{{ password }}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:36:04