LDAP3模块获得超过1000个结果或备选方案

2024-05-16 11:03:15 发布

您现在位置:Python中文网/ 问答频道 /正文

# import class and constants
from ldap3 import Server, Connection, ALL, SUBTREE

# define the server
s = Server(host='xyz', port=xxxx, use_ssl=True, get_info='ALL')
c = Connection(s, auto_bind='NONE', version=3, authentication='ANONYMOUS', client_strategy='SYNC', auto_referrals=True, check_names=True, read_only=False, lazy=False, raise_exceptions=False)

c.bind()
results = c.extend.standard.paged_search(
    search_base = 'Ou=XYZ,dc=org,dc=com',
    search_filter = '(AppID=*)',
    search_scope = SUBTREE,
    get_operational_attributes=True,
    attributes=['*'],
    generator=True,
    paged_size=None
)
i=0

for entries in results:
    print(entries)
    i+=1
print(i)

我正在尝试连接到特定端口上的服务器并执行匿名SSL身份验证。我编写了上面的脚本来获得“AppID=*”的结果。我只能打印1000条记录,然后遇到以下错误:

Traceback (most recent call last): File "C:/Fetch data.py", line 43, in for entries in results: File "C:\Users\xyz\AppData\Local\Programs\Python\Python36\lib\site-packages\ldap3\extend\standard\PagedSearch.py", line 75, in paged_search_generator raise LDAPOperationResult(result=result['result'], description=result['description'], dn=result['dn'], message=result['message'], response_type=result['type']) ldap3.core.exceptions.LDAPSizeLimitExceededResult: LDAPSizeLimitExceededResult - 4 - sizeLimitExceeded - None - None - searchResDone - None

我尝试过提供的解决方案Conquering Active Directory's 1000 record limit

我试着浏览了文档LDAP3 Docs ,但没有成功。有没有办法读取完整的输出。(我想有超过5千张唱片)


Tags: inimportnonefalsetruesearchserverresult