Создание пользователя с помощью библиотеки 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(), по которому она и должна работать. Буду рад любым советам и помощи, заранее спасибо.


Ответы (0 шт):