You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python ldap3 Reader.search_paged返回0结果,同条件search正常求助

问题解决:ldap3 Reader.search_paged返回0条结果的原因及修复

核心原因是Reader.search_paged()默认参数generator=True,此时方法返回生成器对象,不会将结果填充到Reader实例本身,直接遍历Reader对象自然无结果。以下是两种修复方案:

方案1:保持原有遍历逻辑,将结果存入Reader实例

设置generator=False,让分页查询的结果自动存入Reader对象,后续遍历逻辑无需修改:

obj_user = ObjectDef('user', conn_object)
obj_user += AttDef('sAMAccountName')

thesearch = '(sAMAccountName=a*)'
attributes = ['cn', 'distinguishedName']

r = Reader(conn_object, object_def=obj_user, base=bind_domain, query=thesearch)
# 关键:设置generator=False,结果会存入Reader实例
r.search_paged(paged_size=500, generator=False)
for currowindex, currow in enumerate(r):
     print('cn=', currow['cn'].value)

方案2:直接遍历search_paged返回的生成器

接收方法返回的生成器对象,直接遍历获取每一页的结果:

obj_user = ObjectDef('user', conn_object)
obj_user += AttDef('sAMAccountName')

thesearch = '(sAMAccountName=a*)'
attributes = ['cn', 'distinguishedName']

r = Reader(conn_object, object_def=obj_user, base=bind_domain, query=thesearch)
# 接收分页生成器
results = r.search_paged(paged_size=500)
for currowindex, currow in enumerate(results):
     print('cn=', currow['cn'].value)

额外检查点

  • 确认你的Active Directory服务器未禁用分页搜索(默认允许,若有特殊权限配置需排查)
  • 确保conn_object连接实例正常,未手动禁用LDAP分页控制项

内容的提问来源于stack exchange,提问作者Rick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:33:25