用于将多个变量插入Ansible中的列表的循环
我使用“循环”将用户分为多个组。但是,我在将用户分配到数量不确定的组时遇到了一个问题。在我下面的ansible playbook中,我使用循环将用户“Cahbayu”分为3个不同的组,即“DNSAdmins、备份操作员和远程桌面用户”,它起到了作用:用于将多个变量插入Ansible中的列表的循环,ansible,active-directory,Ansible,Active Directory,我使用“循环”将用户分为多个组。但是,我在将用户分配到数量不确定的组时遇到了一个问题。在我下面的ansible playbook中,我使用循环将用户“Cahbayu”分为3个不同的组,即“DNSAdmins、备份操作员和远程桌面用户”,它起到了作用: --- - hosts: brc.testlab.com gather_facts: no vars: group: DNSAdmins, Backup Operators, Remote Desktop Users use
---
- hosts: brc.testlab.com
gather_facts: no
vars:
group: DNSAdmins, Backup Operators, Remote Desktop Users
username: Cahbayu
tasks:
- name: split the domain and save as variable
set_fact:
group_split: "{{ group.split(',') }}"
- name: show group in domain
debug:
msg: "{{ group_split }}"
- name: "Add Member to Group"
community.windows.win_domain_group_membership:
name: "{{item.group}}"
members: "{{item.username}}"
state: present
loop:
- { group: "{{(group_split)[0]}}", username: "{{username}}" }
- { group: "{{(group_split)[1]}}", username: "{{username}}" }
- { group: "{{(group_split)[2]}}", username: "{{username}}" }
当我声明一个数字小于3或大于3的组时遇到一个新问题,该组将显示以下错误结果:
有人有解决方案吗?我认为不需要为
win\u domain\u group\u membership
任务创建字典列表。只要在group\u split
变量上循环就足够了
-name:拆分域并另存为变量
设定事实:
group_split:“{{group.split(',')}”
-名称:“将成员添加到组”
community.windows.win\u域\u组\u成员资格:
名称:“{{item}}”
成员:“{{username}}”
国家:现在
循环:“{group_split}}”
或者,由于您是在vars:
部分定义组,因此可以将group
变量定义为列表,并避免使用split
设置事实
例如:
vars:
用户名:Cahbayu
组:
-“DNSAdmins”
-“备份操作员”
-“远程桌面用户”
任务:
-名称:“将成员添加到组”
community.windows.win\u域\u组\u成员资格:
名称:“{{item}}”
成员:“{{username}}”
国家:现在
循环:“{group}}”
我认为不需要为win\u domain\u group\u成员身份任务创建词典列表。只要在group\u split
变量上循环就足够了
-name:拆分域并另存为变量
设定事实:
group_split:“{{group.split(',')}”
-名称:“将成员添加到组”
community.windows.win\u域\u组\u成员资格:
名称:“{{item}}”
成员:“{{username}}”
国家:现在
循环:“{group_split}}”
或者,由于您是在vars:
部分定义组,因此可以将group
变量定义为列表,并避免使用split
设置事实
例如:
vars:
用户名:Cahbayu
组:
-“DNSAdmins”
-“备份操作员”
-“远程桌面用户”
任务:
-名称:“将成员添加到组”
community.windows.win\u域\u组\u成员资格:
名称:“{{item}}”
成员:“{{username}}”
国家:现在
循环:“{group}}”
这真的帮了我很大的忙,谢谢你这么详细的回答!不客气,很高兴它对我有帮助。它真的帮助了我,谢谢你这么详细的回答!不客气,很高兴这对你有帮助。