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

#python #active-directory #ldap #active-directory-group #ldap3

#python #active-directory #ldap #active-directory-group #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","(amp;(sAMAccountName={}))".format("company\myusername")
            ,attributes=['memberOf'])
  

Как я могу перечислить свое собственное членство в группе, например whoami /groups , does?

Ответ №1:

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

Комментарии:

1. Я тоже попробовал то же самое с sAMAccountName=myusername, но я все равно получаю нулевые записи.

Ответ №2:

Проблема заключалась в базе поиска в моем поиске: я заменил "dc=name,dc=company,dc=local" "dc=company,dc=local" ее на отлично работающую.