查询用户目录的常规方法是(&(objectClass=user)(objectCategory=person))
。查询已删除对象的常规方法是添加(isDeleted=TRUE)
。
但是,tombstone对象上不存在objectCategory
属性,因此(&(objectClass=user)(objectCategory=person)(isDeleted=TRUE))
的查询将不会为您提供任何内容。
如果您删除了(objectCategory=person)
部分,那么您也将获得计算机,因为它们是从用户继承的。
是否可以仅检索已删除的用户?
如果没有,是否可以从返回的逻辑删除对象中判断它是否是用户?
答案 0 :(得分:0)
尝试使用LDAP过滤器:
(&(isDeleted=TRUE)(userAccountControl:1.2.840.113556.1.4.803:=512))
这应检索大多数已删除的用户类型条目。
答案 1 :(得分:0)
python3代码
import ldap
from ldap.controls.simple import ValueLessRequestControl
...
base =
scope = ldap.SCOPE_SUBTREE
filterstr = '(&(objectClass=user)(isDeleted=TRUE))'
attrlist =
result_set = []
ct = ldap.controls.simple.ValueLessRequestControl('1.2.840.113556.1.4.417', True)
result_id = l.search_ext(base, scope, filterstr, attrlist, serverctrls=[ct, ])
for i in range(0, 100):
result_type, result_data = l.result(result_id, 0)
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
else:
break
...