Vbs - Gruppenmitgliedschaften eines Users auslesen?
Hallo,
ich lese per vbs die Gruppenmitgliedschaften eines Users aus.
Eigentlich so:
Das funktioniert auch, aber nur bei den Usern, die mindestens in zwei Gruppen sind. Ist der User nur in einer, kommt diese Meldung:
"Laufzeitfehler in Microsoft VBScript: Das Objekt ist keine Auflistung"
Bei diesen Usern funktioniert dagegen das hier:
Jetzt wiederum kommt dieser Fehler, wenn ein User in mehr als einer Gruppe ist:
"Laufzeitfehler in Microsoft VBScript: Typen unverträglich"
Wie krieg ich vorher raus, in wievielen Gruppen der User ist?
Ich weiss, ich könnte es über "error resume next" und Abfrage der err.number machen, aber schön ist das nicht.
Geht´s anders?
Danke
Gruß
AlbMin
ich lese per vbs die Gruppenmitgliedschaften eines Users aus.
Eigentlich so:
Set objitem = GetObject("LDAP://CN=meinuser,OU=meinou,DC=meindomaene,DC=lo")
for each objGroup in objitem.memberof
Set objGroup = GetObject("LDAP://" & objGroup)
wscript.echo objgroup.cn
next
Das funktioniert auch, aber nur bei den Usern, die mindestens in zwei Gruppen sind. Ist der User nur in einer, kommt diese Meldung:
"Laufzeitfehler in Microsoft VBScript: Das Objekt ist keine Auflistung"
Bei diesen Usern funktioniert dagegen das hier:
wscript.echo objitem.memberof
Jetzt wiederum kommt dieser Fehler, wenn ein User in mehr als einer Gruppe ist:
"Laufzeitfehler in Microsoft VBScript: Typen unverträglich"
Wie krieg ich vorher raus, in wievielen Gruppen der User ist?
Ich weiss, ich könnte es über "error resume next" und Abfrage der err.number machen, aber schön ist das nicht.
Geht´s anders?
Danke
Gruß
AlbMin
Please also mark the comments that contributed to the solution of the article
Content-ID: 180423
Url: https://administrator.de/contentid/180423
Printed on: October 9, 2024 at 13:10 o'clock
2 Comments
Latest comment
Hallo AlbertMinrich!
Frag doch vorweg, ob es sich um ein Array handelt:
Andere Ansätze gäbe es noch im Script Center oder bei Richard L Mueller ...
Grüße
bastla
Frag doch vorweg, ob es sich um ein Array handelt:
Set objitem = GetObject("LDAP://CN=meinuser,OU=meinou,DC=meindomaene,DC=lo")
Groups = objItem.memberof
If IsArray(Groups) Then
For Each Group In Groups
WScript.Echo GetObject("LDAP://" & Group).cn
Next
Else
WScript.Echo GetObject("LDAP://" & Groups).cn
End If
Grüße
bastla