#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"
ее на отлично работающую.