Fehlermeldung bei LDAP -Anfrage

14/08/2008 - 12:07 von Hans-Jörg Teubner | Report spam
Hallo NG,

Wenn ich nachfolgenden Code ausführe bekomme ich die Fehlermeldung:
"Die Verzeichniseigenschaft wurden nicht im Cache gefunden
Code 8000500D"

Ich möchte lediglich einige Objekte aus dem AD herauslesen.
Kann das an beschrànkten Rechten liegen?

Set objRootDSE = GetObject("LDAP://rootDSE")
strDom = objRootDSE.Get("defaultnamingcontext")

Set objOU = GetObject("LDAP:// OU=<ou2>, OU=<ou1>," & strDom)
MsgBox objOU.ADsPath


objOU.GetInfo
For Each o In objOU.GetEx("member")
WScript.Echo o
Next
Grüße Hans-Jörg
 

Lesen sie die antworten

#1 Nils Kaczenski [MVP]
14/08/2008 - 12:21 | Warnen spam
Moin,

Hans-Jörg Teubner schrieb:
Wenn ich nachfolgenden Code ausführe bekomme ich die Fehlermeldung:
"Die Verzeichniseigenschaft wurden nicht im Cache gefunden
Code 8000500D"



klar, denn:

Set objOU = GetObject("LDAP:// OU=<ou2>, OU=<ou1>," & strDom)


[...]
For Each o In objOU.GetEx("member")



eine OU hat kein Attribut namens "member". Das gibt es nur bei Gruppen.

Selbst bei Objektklassen, wo ein Attribut prinzipiell vorhanden ist,
kann es aber sein, dass es leer ist. Dann bekommst du dieselbe Meldung.
Beim Auslesen von AD-Objekten solltest du also immer die
Fehlerbehandlung selbst übernehmen ("on error resume next" usw.).

Wenn du eigentlich die Unterobjekte der OU auflisten willst, geht das so:

For Each objSub in objOU
Wscrip.Echo objSub.AdsPath
Next


Schöne Grüße, Nils

Nils Kaczenski - MVP Windows Server
www.faq-o-matic.net
Antworten bitte nur in die Newsgroup!
PM: Vorname at Nachname .de
https://mvp.support.microsoft.com/p....Kaczenski

Ähnliche fragen