string principal = this.Context.User.Identity.Name; string filter = string.Format("(&(ObjectClass={0})(sAMAccountName={1}))", "person", principal); string domain = "DC=ca,DC=com"; string[] properties = new string[] { "fullname" };
DirectoryEntry adRoot = new DirectoryEntry("_LDAP://" + domain, null, null, AuthenticationTypes.Secure); DirectorySearcher searcher = new DirectorySearcher(adRoot); searcher.SearchScope = SearchScope.Subtree; searcher.ReferralChasing = ReferralChasingOption.All; searcher.PropertiesToLoad.AddRange(properties); searcher.Filter = filter; SearchResult result = searcher.FindOne(); 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();
System.Runtime.InteropServices.COMException: Unknown error (0x80005000)
SearchResult result = searcher.FindOne();