- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
Создание пользователя с помощью библиотеки ldap3 в Active Directory
Всем привет. Я хочу автоматизировать процесс создания пользователей в Active Directory путем использования Python библиотеки ldap3. Столкнулся с интересной проблемой, решения которой не смог найти нигде, даже примерных ошибок такого рода ни у кого не нашел. В чем чуть проблемы, имеется такой код:
AD = Server(
host = "ldap://domain",
get_info = ALL,
mode = IP_V4_ONLY
)
sasl_creds = (
None,
administrator,
administrator_password,
None,
"sign"
)
AD_connect = Connection(
server = AD,
version = 3,
authentication = SASL,
sasl_mechanism = DIGEST_MD5,
sasl_credentials = sasl_creds
)
Переменные, подставляемые при подключении берутся из полей ttk.Entry
библиотеки Tkinter
.
При простом подключении AD_connect.bind
я получаю вывод в консоли со статусом success, то есть подключение к указанному серверу происходит успешно.
Но когда я пытаюсь добавить функционал создания пользователя AD_connect.add(dn=user_dn, attributes=user_attributes_dict)
, то сталкиваюсь с тем, что моя программа зависает примерно на 30 секунд, после чего я получаю такую ошибку:
ldap3.core.exceptions.LDAPSocketOpenError: ('unable to open socket', [(LDAPSocketOpenError('socket connection error while opening: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера'), ('104.21.81.24', 389)), (LDAPSocketOpenError('socket connection error while opening: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера'), ('172.67.156.117', 389))])
Не смог найти никакой информации касательно того откуда библиотека берет данные IP адреса и почему вообще она пытается подключаться к ним, когда по идее уже имеется успешный AD_connect.bind()
, по которому она и должна работать.
Буду рад любым советам и помощи, заранее спасибо.