![]() |
Email Adresse aus dem Active Directory lesen
Hi Leuts
ich kann auf diese Weise Problemlos einen User aus dem AD lesen:
Delphi-Quellcode:
Nur leider steht mir dann die property EmailAddress NICHT zur Verfügung, laut MSDSN stimmt das auch...ADsGetObject('WinNT://' + domain + '/' + username, IADsUser, usr); Auf diese Weise kriege ich die Emailadresse:
Delphi-Quellcode:
Nur leider weiss ich 1. den CN nicht und 2. was noch viel schlimmer ist, ich möchte nicht den ganzen OU Pfad mitgeben müssen.
ADsGetObject('LDAP://CN=Hans Meyer,OU=Bla,OU=bla,OU=Users,OU=Thun,DC=thun,DC=lan',IADsUser, usr);
OK... Wie kriege ich nun die Email Adresse eines Benutzers wenn ich nur folgende Informationen habe: Domäne, Username. ??? Vielen Dank schon ma |
Re: Email Adresse aus dem Active Directory lesen
Das usr Objekt aus Deiner ersten Abfrage liefert Dir doch aber den vollständigen OU-Pfad zurück, oder? Mit diesem kannst Du dann nochmal die zweite Abfrage starten und dann die Email auslesen.
...:cat:... |
Re: Email Adresse aus dem Active Directory lesen
hi sakura...
daran habe ich auch schon gedacht (weiss jedoch nicht welche property des usr Objekts es ist), aber das kanns ja irgendwie auch nicht sein, dann braucht mein Programm doppelt so lange wie mit einer Abfrage. Es soll möglichst effizient von statten gehen, Zeit spielt eine Rolle... |
Re: Email Adresse aus dem Active Directory lesen
Der Haken, welchen Du hast, ist dass Du den OU Pfad benötigst, wie Du schon sagtest. Da dieser von User zu User unterschiedlich sein kann (muss), musst Du diesen heraus bekommen. Am Ende, egal welchen Weg Du wählst, musst Du über eine ADs-Abfrage. Somit hast Du immer mind. zwei Abfragen, da kommst Du nicht herum. Wenn Du die Daten für alle Nutzer ermitteln willst, dann gehe am besten gleich rekursiv durch die OU-Ebenen, das würde dann am schnellsten sein. Willst Du nur ein relativ kleines Subset ermitteln, dann musst Du den oben genannten Weg wählen - ob sinnvoll oder nicht ;-)
Lasse mich in meinen Codes stöbern, ob ich die Eigenschaft fix finde ;) ...:cat:... |
Re: Email Adresse aus dem Active Directory lesen
wenn du dir absolut sicher bist, dann muss ich dir das wohl abkaufen. ;-)
Also ich hab auf MSDN gesucht, die einzige Property die den OU Pfad liefern könnte scheint "Departement" zu sein hier die MSDN beschreibung:
Delphi-Quellcode:
doch die ist wiederum nicht verfügbar für die "WinNT://" suche ...
The department, an organizational unit (OU), within the company to which the user belongs.
Vieleicht habe ich was übersehen (hoffentlich), ich wär also froh wenn mit jmd die Property mitteilen könnte... Danke an Sakura und alle die bei der Suche mithelfen ;-) |
Re: Email Adresse aus dem Active Directory lesen
Zitat:
...:cat:... |
Re: Email Adresse aus dem Active Directory lesen
du bist mein Held! :cheers:
|
Re: Email Adresse aus dem Active Directory lesen
und... hat nun jmt eine Idee wie man mit "WINNT://" den ADS Pfad des Objekts rausbekommt, damit ich dann mit "LDAP://" die Email Adresse rausbekomme?
cheers |
Re: Email Adresse aus dem Active Directory lesen
Hi,
ein Abfrage mit LDAP und das Ergebnis steht. Der Username ist vollkommen ausreichend, wenn Du innerhalb der Domäne bleibst. Filter = "(&(objectCategory=user)(sAMAccountName='Username' ))". InParameter = "distinguishedName" InParemeter = "mail" Siehe auch ![]() Gruß |
Re: Email Adresse aus dem Active Directory lesen
Ich habs immmer noch nicht hin... wie setze ich jetzt den Filter und wo?
lg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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