cthluhu
Goto Top

Verschachtelte Gruppen aus AD mit VBA auslesen

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

Printed on: April 25, 2024 at 18:04 o'clock

Member: bastla
bastla Feb 24, 2009 at 15:10:27 (UTC)
Goto Top
Hallo Cthluhu!

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

Grüße
bastla
Member: Cthluhu
Cthluhu Feb 24, 2009 at 16:52:50 (UTC)
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
Member: bastla
bastla Feb 24, 2009 at 17:37:43 (UTC)
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
Member: Cthluhu
Cthluhu Feb 25, 2009 at 09:52:16 (UTC)
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
Member: Cthluhu
Cthluhu Mar 16, 2009 at 16:59:07 (UTC)
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