我正在使用 LDAP 查询执行 ADODB recordset.open() 命令,以从我的 Active Directory 中获取所有用户。
大约有 2600 个用户,但我只收回了其中的 1000 个。
我尝试更改记录集的 PageSize 和 MaxRecords 属性,但没有成功。
没有多余的东西,这就是代码的样子(我已经使连接细节通用):
ADODB.Connection conn = new ADODB.Connection();
ADODB.Recordset rs = new ADODB.Recordset();
rs.MaxRecords = 10000;
rs.PageSize = 10000;
conn.Open("Active Directory Provider","","",0);
string query = "SELECT cn FROM 'LDAP://OU=User Accounts,OU=TopLevel,DC=domainName,DC=local' where samAccountName = '*'"
rs.Open(query, conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, -1);
它肯定只返回 1000 条记录,(我已经确认),我可以很好地访问它们。
如果它有帮助,我不使用 DirectorySearcher 的原因是因为它与此相比太慢了。