ich versuche derweil aus einem AD Informationen zu einem User auszulesen (Email Adresse, Vorname und Co.)
Dazu bin ich bisher wie folgt vorgegangen:
string filter = string.Format("(&(ObjectClass={0})(sAMAccountName={1}))", "person", "DerEntsprechendeUserName");
string domain = "DieADDomain";
System.DirectoryServices.DirectoryEntry adRoot = new System.DirectoryServices.DirectoryEntry("LDAP://" + domain, null, null, AuthenticationTypes.Secure);
System.DirectoryServices.DirectorySearcher searcher = new System.DirectoryServices.DirectorySearcher(adRoot);
searcher.SearchScope = SearchScope.Subtree;
searcher.ReferralChasing = ReferralChasingOption.All;
searcher.Filter = filter;
SearchResult result = searcher.FindOne();
System.DirectoryServices.DirectoryEntry directoryEntry = result.GetDirectoryEntry();
string displayName = directoryEntry.Properties["displayName"][0].ToString();
string firstName = directoryEntry.Properties["givenName"][0].ToString();
string lastName = directoryEntry.Properties["sn"][0].ToString();
string email = directoryEntry.Properties["mail"][0].ToString();
Beim auslesen der Properties bekomme ich allerdings stets die folgende Exception:
Fehler |
COMException: Unbekannter Fehler (0x8000500c) |
Beim Debuggen ist mir auch aufgefallen das ich für den directoryEntry keine Schema Informationen abrufen, ebenfalls eine Exception vom Typ 'System.Runtime.InteropServices.COMException' geworfen bekomme.
Hat von euch jemand Rat wie ich erfolgreich zu meinem Ziel gelange und die spezifischen Informationen zu einem spefifischen User aus dem Active Directory auslesen kann ?
Vielen Dank schonmal
- Birne -