如何在AWX中为个人账号启用管理员角色以运行Playbook?
给个人Windows账号赋权并配置AWX/Ansible提权运行Playbook
一、将个人账号加入Windows本地管理员组
图形界面操作
- 右键「此电脑」选择「管理」,打开计算机管理控制台
- 依次展开「本地用户和组」→「用户」
- 右键你的个人账号,选择「属性」→切换到「隶属于」标签
- 点击「添加」,输入
Administrators,点击「检查名称」确认后完成添加 - 保存设置后,注销并重新登录账号使权限生效
PowerShell批量配置(Ansible执行)
如果需要给多台主机批量配置,可先运行这个Playbook:
- name: Add personal account to Administrators group hosts: all gather_facts: false tasks: - name: Add user to local admin group win_group_membership: name: Administrators members: - YOUR_PERSONAL_ACCOUNT # 替换为你的个人账号名称 state: present
二、配置Ansible/AWX的提权参数适配Windows
Windows的提权逻辑和Linux不同,需要指定runas作为提权方法,确保用个人账号获取管理员权限:
修正你的Playbook
调整原Playbook的提权配置,同时修复脚本语法问题:
- name: Run PowerShell script with admin privileges hosts: all gather_facts: false vars: ansible_become_method: runas ansible_become_flags: '-noprofile -env -user "{{ ansible_user }}"' tasks: - name: Execute PowerShell script win_shell: | C:\Users\note1\Desktop\repos\Clone_db.ps1 -rollback "{{ rollback }}" ` -version "{{ version }}" become: yes
说明:
ansible_become_method: runas指定Windows提权方式ansible_become_flags配置用当前执行的个人账号提权,避免切换到Administrator账户- 修正了原脚本中变量引用的引号和换行反引号位置,避免语法错误
AWX模板额外配置(可选)
如果通过AWX模板执行,在模板编辑页面需设置:
- 「Become Method」选择
runas - 无需手动指定「Become User」,保持默认即可,因为我们已经通过变量配置用当前账号提权
三、验证权限是否生效
- 在Windows主机上,打开命令提示符执行
runas /user:YOUR_ACCOUNT powershell.exe,确认打开的PowerShell窗口显示管理员权限 - 运行修改后的Playbook,检查脚本中需要管理员权限的操作(如修改系统文件、注册表等)是否正常执行
内容的提问来源于stack exchange,提问作者Đạt Bùi Quốc
相关产品推荐
相关产品推荐

