2009-06-29 146 views
6

我正在使用LDAP查询执行ADODB recordset.open()命令,以从我的Active Directory获取所有用户。记录集只返回1000条记录

约有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的原因是因为它是如此缓慢与此相比。

回答

2

1000极限讨论here - 本质上,它是固定在服务器上,所以你会需要跟主人...

+0

我敢肯定你可以从查询中设置它 - 我已经使用VBScript和command.Execute之前完成了它。这只是我无法得到的工作。 – ChristianLinnell 2009-06-29 04:34:59