LDAP-Abfrage groesser 1000

23/05/2008 - 16:10 von Andreas | Report spam
Hallo zusammen,

ich habe mir eine kleines VB-Script gebastelt mit welchem ich ein
Multivalued-Feld im AD abfrage. Beinhaltet dieses Feld weniger als 1000 (ich
vermute mal 1000 ist die Grenze) Eintràge, funktioniert das Script
einwandfrei.
Problematisch wird die Sache, beinhaltet das Feld mehr als 1000 Eintràge.

Hier der Code zu dem Script
*********************************************
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand=CreateObject("ADODB.Command")
set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size")00

objCommand.commandtext= "<LDAP://dcservername/CN=datenbankname,CN=First
Storage Group,CN=InformationStore" & _
",CN=e2k3servername,CN=Servers,CN=SWM,CN=Administrative Groups,CN=Stadtwerke
München,CN=Microsoft Exchange,CN=Services," & _
"CN=Configuration,DC=intra,DC=dswa,DC=de>;(cn=*);cn,homemdbbl;subtree"

set objrecordset=objcommand.Execute
Do Until objrecordset.eof
arrMDB=objRecordset.Fields("homemdbbl").value
z=0
i=0
For Each objmdb in arrMDB
z=z+1
strMDB= strmdb & z & ". " & arrMDB(i) & vbcrlf
i=i+1
Next
WScript.Echo strmdb
objrecordset.movenext
loop
*********************************************
Ich erhalte den Fehler "Microsoft VBScript runtime error: Object not a
collection
" (der Fehler bezieht sich auf die Zeile "For Each objmdb in arrMDB").

Gerne würde ich sàmtliche User ein Exchangedatenbank abfragen. Auch wenn in
der DB mehr als 1000 Postfàcher enthalten sind.
Über die "Page Size" habe ich ein wenig gelesen, aber ganz verstanden habe
ich noch nicht wie die Zusammenhànge zum AD sind. Evtl. könnte mich hier
jemand aufklàren und mir vielleicht einen Hinweis geben weshalb das Script
nicht làuft bzw. nur teilweise làuft.

Vielen Dank schon mal für die Antworten/Ideen und Hinweise.

Grüsse,
Andreas
 

Lesen sie die antworten

#1 Andreas
26/05/2008 - 15:15 | Warnen spam
Ich habe neue Information und möchte diese gerne hier auch mitteilen

Wie ich in der Technet
(http://www.microsoft.com/germany/te...mspx#EZBAE)
fand, ist es nicht möglich Mulitvalued Felder auszulesen, wenn der im
Rückgabewert mehr als 1000 Eintràge enthalten sind. Beschrieben ist dies im
Punkt "Teile von Multiwert-Attributen über die Eigenschaft Range abfragen".
Erst über die 'Range' wird dies möglich.




"Andreas" wrote:

Hallo zusammen,

ich habe mir eine kleines VB-Script gebastelt mit welchem ich ein
Multivalued-Feld im AD abfrage. Beinhaltet dieses Feld weniger als 1000 (ich
vermute mal 1000 ist die Grenze) Eintràge, funktioniert das Script
einwandfrei.
Problematisch wird die Sache, beinhaltet das Feld mehr als 1000 Eintràge.

Hier der Code zu dem Script
*********************************************
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand=CreateObject("ADODB.Command")
set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size")00

objCommand.commandtext= "<LDAP://dcservername/CN=datenbankname,CN=First
Storage Group,CN=InformationStore" & _
",CNâk3servername,CN=Servers,CN=SWM,CN=Administrative Groups,CN=Stadtwerke
München,CN=Microsoft Exchange,CN=Services," & _
"CN=Configuration,DC=intra,DC=dswa,DC=de>;(cn=*);cn,homemdbbl;subtree"

set objrecordset=objcommand.Execute
Do Until objrecordset.eof
arrMDB=objRecordset.Fields("homemdbbl").value
z=0
i=0
For Each objmdb in arrMDB
z=z+1
strMDB= strmdb & z & ". " & arrMDB(i) & vbcrlf
i=i+1
Next
WScript.Echo strmdb
objrecordset.movenext
loop
*********************************************
Ich erhalte den Fehler "Microsoft VBScript runtime error: Object not a
collection
" (der Fehler bezieht sich auf die Zeile "For Each objmdb in arrMDB").

Gerne würde ich sàmtliche User ein Exchangedatenbank abfragen. Auch wenn in
der DB mehr als 1000 Postfàcher enthalten sind.
Über die "Page Size" habe ich ein wenig gelesen, aber ganz verstanden habe
ich noch nicht wie die Zusammenhànge zum AD sind. Evtl. könnte mich hier
jemand aufklàren und mir vielleicht einen Hinweis geben weshalb das Script
nicht làuft bzw. nur teilweise làuft.

Vielen Dank schon mal für die Antworten/Ideen und Hinweise.

Grüsse,
Andreas

Ähnliche fragen