Как составить список членства в группах Active Directory с помощью Python LDAP3?

Я вхожу в Active Directory, затем я хочу перечислить свое членство в группе с библиотекой Python ldap3.

server = Server('server.company.local', get_info=ALL)
conn = Connection(server, user="company\\user", password="password", authentication=NTLM, auto_bind=True)
print(conn.extend.standard.who_am_i())

Этот код показывает только имя пользователя (например, команда whoami cmd), но я хочу перечислить свои группы (например, команда whoami /groups). К сожалению, у меня нет прав на выполнение различных поисков на контроллере домена, поэтому (возможно) следующий код возвращает пустую строку:

conn.search("dc=name,dc=company,dc=local","(&(sAMAccountName={}))".format("company\\myusername")
            ,attributes=['memberOf'])

Как я могу указать свое членство в группе, как это делает whoami /groups?


person Deer    schedule 10.11.2020    source источник


Ответы (2)


Active Directory обычно позволяет всем аутентифицированным пользователям читать множество атрибутов, включая memberOf. Проверьте количество записей, возвращенных для вашего поиска. Я ожидаю, что вы найдете ноль записей с этим поиском. Значения sAMAccountName обычно не содержат компонент company\, а представляют собой просто имя пользователя.

person LisaJ    schedule 10.11.2020
comment
Я пробовал то же самое с sAMAccountName=myusername, но все равно не получаю записей. - person Deer; 10.11.2020

Проблема была в базе поиска в моем поиске: заменил "dc=name,dc=company,dc=local" на "dc=company,dc=local" Работает нормально.

person Deer    schedule 11.11.2020