1

我正在编写一个删除 OU 下所有用户的 python 脚本。ou=people,cn=AdministrativeLdap,cn=Windchill_11.0,o=ptc。

我试图通过执行以下代码来删除条目,但它失败并出现错误“无法删除,因为它有从属条目”,“推荐人”:无,“类型”:“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()
4

1 回答 1

1

在 LDAP 中,如果“容器”对象包含其他对象,则不能删除它。DELETE 操作期望删除单个对象。您必须使用 delete() 删除每个对象。只有当容器对象不包含任何其他对象时,它才能被移除。

您还可以尝试使用Subtree Delete Control来删除 LDAP 树的整个分支,但您必须检查您的 ldap 服务器是否支持它。

于 2019-06-03T03:48:52.073 回答