![]() |
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 |
Re: Email Adresse aus dem Active Directory lesen
Ich weiß nicht hunderprozentig wie es bei Usern in der Domäne ist. Aber wenn Sich ein User in einem Novell-Netzwerk anmeldet, wird lokal auf dem Rechner in der Registry der Distinguished Name abgespeichert.
Schaue mal nach, ob Du Ihn in der Registry findest und wenn ja, mache Deine LDAP-Abfrage und dann hast Du die E-Mail Adresse. |
Re: Email Adresse aus dem Active Directory lesen
ne das ist sicher der falsche Weg. Ich will ja nicht nur die EMail Adresse vom angemeldeten Benutzer!
|
Re: Email Adresse aus dem Active Directory lesen
na kommt schon, das kann doch nicht so schwierig sein. Ist es so einfach dass es mir niemand sagen will? :? :stupid:
|
Re: Email Adresse aus dem Active Directory lesen
Zitat:
Nach meiner Meinung gibt es nur zwei Möglichkeiten. 1. Möglichkeit: Du liest die Informationen aus, wenn sich der User angemeldet hat. Damit erfährst Du den Distinguished Name und kannst die Abfrage an die AD stellen. 2. Möglichkeit: Du suchst erst den Usernamen in der AD, bekommst so den Distinguished Name und fragst dann die Informationen ab, die Du brauchst. |
Re: Email Adresse aus dem Active Directory lesen
Sorry AlterMann... Tut mir echt leid... Du hast mir die Lösung schon vor Monaten auf dem Silbertablett präsentiert und ich war zu Dumm um es zu erkennen! :oops:
Natürlich kann dein Programm ( ![]() und nichts für ungut. Frohe Festtage... 8) Cheers |
AW: Email Adresse aus dem Active Directory lesen
Hallo
ich würde auch eine Lösung von EMAIL SUCHE im Unternehmen brauchen. Kannst Du mir bitte sagen wie das jetzt bei Dir läuft? In Exchange / Outlook gibt es ja das Adressbuch, ist das auch via LDAP erstellt? Genau so wie in OUTLOOK, würde ich in Delphi einen Namen, Vornamen des Unternehmens suchen, und dann seine EMAIL-Adresse erfragen wollen. Danke für Deinen Tip. ws |
AW: Email Adresse aus dem Active Directory lesen
Zitat:
|
AW: Email Adresse aus dem Active Directory lesen
Besten Dank Herr Peter, können Sie so eine Outlook ole Automation für Delphi Berlin - auch kommerzieller Natur- empfehlen?
Schönen Abend und besten Dank :-D Walter |
AW: Email Adresse aus dem Active Directory lesen
Das geht mit Delphi-Bordmitteln, man muß nur die Outlook type library importieren (Components -> Import component). Ich hab Sydney nicht mehr auf diesem Rechner, aber deine Installation sollte unter dem Installationsverzeichnis ein Unterverzeichnis OCX\Servers haben, in dem sich schon mitgelieferte Units für diverse Office-Anwendungen finden, in mehreren Versionen. Falls die Palette in deiner IDE einen ActiveX-Tab hat sieh auch da mal rein; die Units enthalten nämlich Wrapper-Komponenten für die wichtigsten OLE-Interfaces die man ganz normal auf ein Form oder Datamodule legen kann.
Leider gibt es für den ganzen Kram nur die Microsoft VBA-Dokumentation, mit ein Bißchen googeln ("delphi outlook ole automation address book" z. B.) findet sich aber sicher ein paar Hinweise. |
AW: Email Adresse aus dem Active Directory lesen
Tausend dank für dein wertvolles Feedback, ich werden Google zu Rate ziehen und mich hoffentlich schlau machen!
Schönen Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 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