mashirito
Goto Top

VBS - Informationen aus AD lesen

Hallo,

nachdem ich mit KiX bei diesem Problem gescheitert bin, probiere ich es jetzt mit VBS. Wovon ich aber leider überhaupt keine Ahnung habe...
Folgendes Problem: Ich habe einen AD Benutzer und möchte mittels VBS Werte aus AD lesen. Wichtig wäre mir hier z.B. Organization/Title.
Mit folgendem Script bekommt ich z.B. die Beschreibung:

benutzer = WSHNetwork.UserName
domain = "//abc.local"
Set oUser = GetObject("WinNT:" & domain & "/" & benutzer)
beschreibung = oUser.Description

Das funktioniert aber nur mit einigen wenigen Feldern. Bei title funktioniert es z.B. nicht... Kann mir jemand weiterhelfen?

Danke und Grüße

Fabian

Content-Key: 73566

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

Printed on: April 19, 2024 at 13:04 o'clock

Member: bastla
bastla Nov 14, 2007 at 19:09:28 (UTC)
Goto Top
Hallo mashirito und willkommen im Forum!

Das funktioniert aber nur mit einigen wenigen Feldern.
Das liegt an der Verwendung des "WinNT"-Providers - wenn Du die Abfrage über LDAP durchführst, hast Du Zugriff auf alle Attribute (siehe dazu etwa WinNT vs LDAP, sowie für eine Auflistung der Attribute die Downloads in AD Attributes).

Grüße
bastla
Member: mashirito
mashirito Nov 15, 2007 at 09:08:37 (UTC)
Goto Top
Hallo bastla,

danke für die Antwort! Ich habe noch etwas Schwierigkeiten, den LDAP-Pfad zusammenzubasteln. Im AD, in den Benutzereigenschaften sehe ich unter "Object" den CN in der Form "abc.local/abc/it/user/mustermann, hans". Wie sieht das jetzt mit LDAP aus? "LDAP://cn=mustermann, hans,ou=abc,ou=it,ou=user,dc=abc,dc=local" funktioniert nicht. Liegt wahrscheinlich am Komma im Namen, oder? Hab schon alle möglichen Konstellationen ausprobiert, bekomme es aber einfach nicht hin!
Wie kann ich eigentlich die ou eines Benutzers im Skript herausbekommen? Ich weiß das ja vorher noch nicht, in welcher ou der Benutzer ist!

Grüße und Danke

Fabian
Member: mashirito
mashirito Nov 15, 2007 at 11:17:06 (UTC)
Goto Top
Ok, das mit dem Komma funktioniert jetzt! Man muss es mit einem Backslash escapen.
Die ou muss man in umgekehrter Reihenfolge schreiben, also in diesem Fall "ou=user,ou=it,ou=abc".
Bleibt die Frage, wie ich die ou eines Benutzers rausbekomme! Kann jemand helfen?

Danke

Fabian
Member: mashirito
mashirito Nov 15, 2007 at 12:28:43 (UTC)
Goto Top
Man muss nur lange genug suchen... Mit

Set objADSysInf = CreateObject("ADSystemInfo")
adUser = objADSysInf.UserName

Hat adUser den Wert "cn=mustermann\, hans,ou=user,ou=it,ou=abc,dc=abc,dc=local" und damit ist
Set oUser = GetObject ("LDAP://" & adUser)
überhaupt kein Problem mehr... Damit wären alle meine Fragen beantwortet.

Grüße

Fabian