![]() |
Nutzerdaten aus Active Directory auslesen
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,
weiß jemand ob es ne Möglichkeit gibt die Daten (Adresse, Telefonnummer, ...) eines Nutzers der in der Active Directory angelegt ist über den LOGIN mittels Delphi herauszubekommen und wenn ja wie funktioniert es ? Micha |
Re: Nutzerdaten aus Active Directory auslesen
Das Active Directory kann mit ADO ausgelesen werden.
Die Abfragen macht man mit einem abgewandelten SQL Befehlssatz. Ich habe hier mal ein kleines VB Beispiel fertiggemacht, welches das Prinzip verdeutlicht...
Code:
'###################################################################
'# VB Script ("".vbs) '# Autor: Jens Warkentin ([url]www.InnovaSoft.de[/url]) '################################################################### Const ADS_SCOPE_SUBTREE = 2 Dim Wurzel,DOMAINROOT,Password Set Wurzel = GetObject("LDAP://RootDSE") '------------------------------------------------------------ DOMAINROOT = "'LDAP://"+Wurzel.Get("defaultNamingContext")&"'" 'ADO Commection erzeugen Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") 'ADO Provider auswählen (exisiert nur auf DC's und auf PC's mit ADS Verwaltungstools) objConnection.Provider = "ADsDSOObject" 'ADOConn connecten objConnection.Open "Active Directory Provider" 'ADOCmd mit der ADOConnection verbinden Set objCOmmand.ActiveConnection = objConnection 'ADOCmd CommandText setzen und ausführen 'Dieser Select holt alle Benutzerobjekte im AD objCommand.CommandText = _ "Select Name, Location, CN, DistinguishedName, ADsPath from " & DOMAINROOT & "Where objectCategory='person' AND objectClass='user' " objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE Set objRecordSet = objCommand.Execute 'Ergebnismenge durchlaufen objRecordSet.MoveFirst dim ADSPath,userobj,Vorname,Nachname,Email Do Until objRecordSet.EOF ' vollqualifizierten LDAP Namen des Users holen ADSPath= "CN: " & objRecordSet.Fields("CN").Value & " " & "ADsPath: " & objRecordSet.Fields("ADsPath").Value 'Benutzer Objekt erstellen (OLEVARIANT) set UserObj = GetObject(objRecordSet.Fields("ADsPath").Value) ' Werte auslesen UserObj.Getinfo Vorname = UserObj.FirstName Nachname = UserObj.LastName Telefon = UserObj.Email 'Mach was mit Vorname, Nachname, Email .... 'Benutzerobjekt freigeben set userobj = nothing 'nächsten User holen objRecordSet.MoveNext Loop |
Re: Nutzerdaten aus Active Directory auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hier noch schnell ein VB Script aus meinem
![]() Da findest du eigentlich alle Eigenschaften eines Benutzerobjektes wieder ... Gute Infos dazu gibt es ![]() :hi: [edit] Anlage vergessen .. :roll: [/edit] |
Re: Nutzerdaten aus Active Directory auslesen
Vielen Dank es funktioniert.
Micha |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz