Я не могу изменить имя питона ldap3 ⇐ Python
-
Anonymous
Я не могу изменить имя питона ldap3
Я получаю, что атрибут ошибки «sn» доступен только для чтения. В ldp.exe от этого пользователя я могу изменять других пользователей, у меня есть привилегии, и их атрибут sn не доступен только для чтения, а в Python — почему?
результат консоли
пока True: pesel = input("Введите PESEL пользователя, имя которого вы хотите изменить: ") если нет is_valid_serial_number(pesel): print("Неверный номер PESEL.") продолжать перерыв ldap_connection.search(search_base=f'dc=test,dc=local', search_filter=f'(serialNumber={pesel})', search_scope=SUBTREE, атрибуты=['sAMAccountName', 'givenName', 'sn', ' серийный номер','cn']) запись = ldap_connection.entries[0] dn = вход.entry_dn печать (DN) new_last_name = input("Введите новое имя:") печать(entry.entry_attributes_as_dict) old_last_name = запись['sn'].значение print(f"Подтвердите, хотите ли вы изменить имя пользователя {entry.sAMAccountName.value} с {old_last_name} на {new_last_name}.") Confirmation = input("1. Да\n2. Нет\nВыберите вариант: ") если подтверждение == '1': запись.sn = новое_последнее_имя ldap_connection.modify(entry.entry_dn, {'sn': [(MODIFY_REPLACE, [new_last_name])]}) print("Имя пользователя было изменено.") еще: print("Изменение имени отменено.") ldap_connection.unbind()` Я проверил конфигурацию ldap и права ldap для пользователя Я пробовал изменить другие атрибуты, например описание, но результат тот же. Я попробовал это:
но речь не о доработках дн
моя цель — отредактировать существующего пользователя, его фамилия — sn
Я получаю, что атрибут ошибки «sn» доступен только для чтения. В ldp.exe от этого пользователя я могу изменять других пользователей, у меня есть привилегии, и их атрибут sn не доступен только для чтения, а в Python — почему?
результат консоли
пока True: pesel = input("Введите PESEL пользователя, имя которого вы хотите изменить: ") если нет is_valid_serial_number(pesel): print("Неверный номер PESEL.") продолжать перерыв ldap_connection.search(search_base=f'dc=test,dc=local', search_filter=f'(serialNumber={pesel})', search_scope=SUBTREE, атрибуты=['sAMAccountName', 'givenName', 'sn', ' серийный номер','cn']) запись = ldap_connection.entries[0] dn = вход.entry_dn печать (DN) new_last_name = input("Введите новое имя:") печать(entry.entry_attributes_as_dict) old_last_name = запись['sn'].значение print(f"Подтвердите, хотите ли вы изменить имя пользователя {entry.sAMAccountName.value} с {old_last_name} на {new_last_name}.") Confirmation = input("1. Да\n2. Нет\nВыберите вариант: ") если подтверждение == '1': запись.sn = новое_последнее_имя ldap_connection.modify(entry.entry_dn, {'sn': [(MODIFY_REPLACE, [new_last_name])]}) print("Имя пользователя было изменено.") еще: print("Изменение имени отменено.") ldap_connection.unbind()` Я проверил конфигурацию ldap и права ldap для пользователя Я пробовал изменить другие атрибуты, например описание, но результат тот же. Я попробовал это:
но речь не о доработках дн
моя цель — отредактировать существующего пользователя, его фамилия — sn