LDAP 쿼리와 함께 ADODB recordset.open() 명령을 사용하여 Active Directory에서 모든 사용자를 가져옵니다.Recordset 만 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를 사용하지 않는 이유는 이므로 느린입니다.
하나 그것들은 OLEDB를 가리키는 것처럼 보입니다. OLEDB는 전환해야 할 수도 있습니다 ... 다른 하나는 슬프게도 옵션이 아닌 레지스트리 것 같습니다. – ChristianLinnell