Ich mache einen ADODB recordset.open() Befehl mit einer LDAP-Abfrage, um alle Benutzer aus meinem Active Directory zu erhalten.Recordset gibt nur 1000 Datensätze zurück
Es gibt ungefähr 2600 Benutzer, aber ich bekomme nur 1000 von ihnen zurück.
Ich habe versucht, die Eigenschaften PageSize und MaxRecords des Recordsets ohne Glück zu ändern.
ohne fremde Sachen, das ist, was der Code wie folgt aussieht (ich die Verbindungsdetails generic gemacht haben):
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);
Es ist definitiv nur 1000 Datensätze zurückkehrte, (ich habe bestätigt), und ich kann Greife auf sie zu.
Wenn es hilft, ist der Grund, warum ich nicht DirectorySearcher verwenden, weil es ist so langsam im Vergleich dazu.
Einer diese scheinen sich auf OLEDB zu beziehen, zu dem ich vielleicht wechseln muss ... der andere scheint eine Registry-Sache zu sein, die leider keine Option ist. – ChristianLinnell