ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
4165
4165
EMPFEHLEN
-
Hallo,
ich habe ein kleines Problem.
Und zwar mache per vb.net eine ldap abfrage auf ein Active Directory. Das funktioniert auch wunderbar nur habe ich jetzt festgestellt, dass nur die ersten 1000 Datensätze zurückkommen.
Ich habe schon versucht es mit .maxRecords zu Regeln aber leider klappt das nicht wirklich.
nachfolgend ein kleiner Teil meiner Abfrage:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
' Abfrage zusammen setzen strQuery = strBase & ";" & strFilter & ";" & strAttr & ";" & strDepth Debug.Print(strQuery) 'Verbindung öffnen conn = CreateObject("Adodb.connection") conn.Open("Data Source=Active Directory Provider;Provider=ADsDSOObject") 'Query ausführen 'rs.MaxRecords = 10000 <--- funktioniert leider nicht rs = CreateObject("ADODB.Recordset") rs = conn.Execute(strQuery) anzahl = rs.RecordCount - 1 ProgressBar1.Maximum = anzahl
So weit ich bei msdn gelesen habe funktioniert das setzen von maxRecords nur auf Datenbankabfragen. Kann das sein? Gibt es noch eine andere Möglichkeit, wie ich wirklich alle Datensätzen bekommen kann?
Vielen Dank im Voraus
Philipp
-
Post mal die genaue Abfrage, also den QueryString, der auch an das AD übergeben wird.
-
Hallo Norbert,
ich habe den Code leider nicht hier (bin gerade auf Arbeit), aber das ist das was ich noch im Kopf habe. Es wird eine Suche nach Gruppen in der Domaine gemacht. Die Domaine hat aber weit über 1000 Gruppen, das heißt wenn in die Textbox nichts eingetragen wird sollten theoretisch alle Gruppen zurückkommen. Es kommen aber wie gesagt nur die ersten 1000 zurück.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
'Pfad der gegenwärtigen Domäne einholen Set Root = GetObject("LDAP://rootDSE") strDomain = Root.Get("defaultNamingContext") Set Domain = GetObject("LDAP://" & strDomain) 'ou setzen OU = "" 'wird nur ab und zu gebraucht 'ou einbinden strDomain = OU & strDomain Set Domain = GetObject("LDAP://" & strDomain) ' LDAP Base DN setzen strBase = "<" & Domain.ADsPath & ">" 'Anfangsbuchstabe der Gruppe um Ergebnissmenge zu verkleinern aB = TextBox1.Value ' Filter auf die Kategorie Gruppen setzen strFilter = "(&(objectClass=group)(name=" & aB + "*))" ' Attribut setzen strAttr = "name" ' Suchtiefe setzen strDepth = "subTree" ' Abfrage zusammen setzen strQuery = strBase & ";" & strFilter & ";" & strAttr & ";" & strDepth Debug.Print(strQuery) 'Verbindung öffnen conn = CreateObject("Adodb.connection") conn.Open("Data Source=Active Directory Provider;Provider=ADsDSOObject") 'Query ausführen 'rs.MaxRecords = 10000 <--- funktioniert leider nicht rs = CreateObject("ADODB.Recordset") rs = conn.Execute(strQuery) anzahl = rs.RecordCount - 1 ProgressBar1.Maximum = anzahl
Vielen Dank für deine Mühen,
PhilippGeändert von dobPh (31.10.06 um 14:43 Uhr)
Ähnliche Themen
-
LDAP suche gibt nicht alle Werte zurück
Von C3000 im Forum JavaAntworten: 1Letzter Beitrag: 22.02.08, 13:31 -
LDAP Abfrage korrekt auslesen
Von NeMeSiS1987 im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 12.02.08, 14:04 -
LDAP Abfrage in Word
Von mrno im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 20.02.07, 16:23 -
INNER JOIN bringt nicht richtige Datensätze
Von juergp im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 20.04.05, 15:04 -
ASP: AD Abfrage über LDAP
Von MrBarcode im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 19.08.04, 14:11





Zitieren
Login





