Verschachtelte Gruppen aus AD mit VBA auslesen

cthluhu
Goto Top
Hallo zusammen,

Ich habe ein VBA Skript für Excel geschrieben, welches mit die Gruppen, zu welchen ein User gehört, ausgibt. Das funktioniert wunderbar mit den IADsGroup und IADsUser,... Datentypen welche zur Verfügung stehen.

Das Problem ist aber, wenn eine Gruppe mitglied einer Gruppe (also verschachtelt ist). Die Funktionen IADsGroup::Members bzw IADsGroup::IsMember liefer leider nur User, welche zur Gruppe gehören zurück, aber keine Untergruppen.

Das einzige was ich über google dazu finden konte war ein Beispiel von Microsoft, welches leider nicht funktionert:
http://www.microsoft.com/PRIVOXY-FORCE/technet/scriptcenter/scripts/ad/ ...

Hat jemand eine Idee wie ich verschachtelte Gruppen per VBA auslesen kann?

mfg Cthluhu

Content-Key: 109875

Url: https://administrator.de/contentid/109875

Ausgedruckt am: 24.05.2022 um 00:05 Uhr

Mitglied: bastla
bastla 24.02.2009 um 16:10:27 Uhr
Goto Top
Hallo Cthluhu!

Sieh Die den "Scripting Guy"-Artikel Determining a User’s Group Memberships an ...

Grüße
bastla
Mitglied: Cthluhu
Cthluhu 24.02.2009 um 17:52:50 Uhr
Goto Top
Hi bastla,

Danke für den Link. So ähnlich wie dort dargestellt sieht mein Skript auch aus. Nur leider liefert die Funktions GetEx("memberOf") keinen Wert zurück, auch wenn das Objekt von dem es aufgerufen wurde eindeutig in einer Gruppe ist.

mfg

Cthluhu
Mitglied: bastla
bastla 24.02.2009 um 18:37:43 Uhr
Goto Top
Hallo Cthluhu!

Bei meinem Test (Server W2000 / XP Pro) mit dem Script aus dem oben verlinkten Beitrag hatte ich keine Probleme (zumindest, nachdem ich das fehlende Leerzeichen in der Zeile 3 zwischen "Set" und "objUser" eingetragen hatte ;-) face-wink - fällt aber erst richtig auf, wenn "On Error Resume Next" auskommentiert ist).

Grüße
bastla
Mitglied: Cthluhu
Cthluhu 25.02.2009 um 10:52:16 Uhr
Goto Top
Hallo bastla

Danke für den Tip mit "On Error Resume Next". Das hatte ich tatsächlich noch drin stehen.
Jetzt seh ich endlich meinen Fehler:
"Die Verzeichniseigenschaft wurde im Cache nicht gefunden"

Gibt es irgendwo eine Referenz, welche Parameter von GetEx und GetInfoEx verstanden werden?

lg
Cthluhu
Mitglied: Cthluhu
Cthluhu 16.03.2009 um 17:59:07 Uhr
Goto Top
Hallo

habe das Problem noch lösen konnen. Es lag gar nicht an VB, sondern an den Gruppen im AD.
Es gibt drei Kategorien: universal, global und lokal.
Per IADsGroup::Members bzw IADsGroup::IsMember lassen sich nur lokale Gruppen auslesen. Globale und universale werden nur als leere Gruppen angezeigt.

Vllt gibt es eine Möglichkeit auch diese auszulesen, mir ist aber keine bekannt.

Für mich hat sich das Problem aber jetzt erledigt, und ich ich markiere hier mal als gelöst.

mfg

Chtluhu