Невозможно удалить нескольких пользователей из LDAP с Ldap3 Python - PullRequest
0 голосов
/ 13 мая 2019

Я пишу скрипт на python, который удаляет всех пользователей в подразделении. OU = люди, сп = AdministrativeLdap, сп = Windchill_11.0, о = ПТКС.

Я пытаюсь удалить записи, выполнив следующий код, но он завершается неудачно с ошибкой «невозможно удалить, поскольку у него есть подчиненные записи», «рефералов»: нет, «тип»: «delResponse»

Есть ли способ удалить записи в одиночку?

Спасибо большое!

from ldap3 import Server, Connection, ALL
s = Server('<IP-ADDRESS>', get_info=ALL)
print(s)
c = Connection(s, user='xxxxxx', password='xxxxxxxxxx')
c.bind() 
c.delete('ou=people,cn=AdministrativeLdap,cn=Windchill_11.0,o=ptc',force=True)
print(c.result)
c.unbind()

1 Ответ

0 голосов
/ 03 июня 2019

В LDAP вы не можете удалить объект «контейнер», если он содержит другой объект. Операция DELETE предполагает удаление одного объекта. Вы должны удалить каждый объект с помощью delete (). Только когда объект контейнера не содержит никаких других объектов, он может быть удален.

Вы также можете попробовать Контроль удаления поддерева , который позволяет удалить целую ветвь дерева LDAP, но вы должны проверить, поддерживает ли ваш сервер ldap.

...