Создать список AD групп в которых состоит пользователь
Подскажите пытаюсь создать список пользователей + название ad группы в которых они состоят.
Должно выводить: VPipkin: 'test','test2' если в 2 (определенных) группах состоит или VPipkin: 'test' если в одной.
Как правильно прописать чтобы выводилось VPipkin: 'test','test2'
#Условия поиска
conn.search(AD_SEARCH_TREE, '(|(memberOf=cn=test,ou=GIS,ou=Resource_Access_Groups_Auto,ou=Groups,dc=d,dc=a, dc=c)(memberOf=cn=test_2,ou=GIS,ou=Resource_Access_Groups_Auto,ou=Groups,dc=d,dc=a,dc=c))',
attributes = ['sAMAccountName','sn','givenName','mail','displayName','memberof'])
#Формируем список пользователей из AD групп
name={}
for entri in conn.entries:
for cn in entri.memberof:
if re.search(r'CN=test', cn):
name[entri.sAMAccountName[0]]='test'
if re.search(r'CN=test2\b', cn):
name[entri.sAMAccountName[0]]='test2'
if re.search(r'CN=test\b', cn) and re.search(r'CN=test2', cn):
name[entri.sAMAccountName[0]]=['test','test2']
return name
Ответы (1 шт):
Автор решения: Эникейщик
→ Ссылка
Как-то так:
name={}
for entri in conn.entries:
name[entri.sAMAccountName[0]] = []
for cn in entri.memberof:
if re.search(r'CN=test\b', cn):
name[entri.sAMAccountName[0]].append('test')
if re.search(r'CN=test\b', cn):
name[entri.sAMAccountName[0]].append('test2')