1

OU の下のすべてのユーザーを削除する Python スクリプトを作成しています。ou=人,cn=管理者Ldap,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() で削除する必要があります。コンテナー オブジェクトに他のオブジェクトが含まれていない場合にのみ、コンテナー オブジェクトを削除できます。

LDAP ツリーのブランチ全体を削除できるサブツリー削除コントロールを試すこともできますが、LDAP サーバーがそれをサポートしているかどうかを確認する必要があります。

于 2019-06-03T03:48:52.073 に答える