2013-09-06 2 views
8

मैं ईमेल पते से ActiveDirectory उपयोगकर्ता से कैसे क्वेरी कर सकता हूं? किसी दिए गए उपयोगकर्ता के पास [email protected] और [email protected] दोनों जैसे कई ईमेल हो सकते हैं। किसी दिए गए ईमेल के लिए, मैं ए/डी उपयोगकर्ता को वापस कैसे प्राप्त कर सकता हूं?ईमेल पते द्वारा सक्रिय निर्देशिका में लुकअप उपयोगकर्ता

मैं सी # में प्रोग्रामिंग कर रहा हूं।

उत्तर

17

आप नीचे दिए गए कोड के साथ आपका विज्ञापन खोज कर सकते हैं:

DirectoryEntry adEntry = null; 

    private void SetADInfoAndCredentials() 
    { 
     adEntry = new DirectoryEntry("LDAP://" + ad_textBox.Text); 
     adEntry.Username = user_textBox.Text; 
     adEntry.Password = pw_textBox.Text; 
    } 

    private void SearchForMailInAD() 
    { 
     DirectorySearcher adSearcher = new DirectorySearcher(adEntry); 
     adSearcher.Filter = ("mail=" + mail_textBox.Text); 
     SearchResultCollection coll = adSearcher.FindAll(); 
     foreach (SearchResult item in coll) 
     { 
      foundUsers_listBox.Items.Add(item.GetDirectoryEntry()); 
     } 
    } 

€: यह proxyAddresses में मेल एड्रेस जो सभी मेल पते

public static SearchResultCollection FindAccountByEmail(string pEmailAddress) 
    { 
     string filter = string.Format("(proxyaddresses=SMTP:{0})", email); 

     using (DirectoryEntry gc = new DirectoryEntry("LDAP:")) 
     { 
      foreach (DirectoryEntry z in gc.Children) 
      { 
       using (DirectoryEntry root = z) 
       { 
        using (DirectorySearcher searcher = new DirectorySearcher(root, filter, new string[] { "proxyAddresses", "objectGuid", "displayName", "distinguishedName" })) 
        { 
         searcher.ReferralChasing = ReferralChasingOption.All; 
         SearchResultCollection result = searcher.FindAll(); 

         return result; 
        } 
       } 
      } 
     } 
     return null; 
    } 
+0

धन्यवाद होस्ट करता है के लिए खोज करेंगे - दूसरा कोड सेट अच्छा काम करता है । मैं पहले (एलडीएपी) दृष्टिकोण का उपयोग कब करना चाहूंगा? और एलडीएपी के बाद क्या होता है: //? –

+0

पहला कोड केवल यह जानने का काम करेगा कि कौन सा प्राथमिक मेल पता परिभाषित किया गया है। एलडीएपी के बाद आपको अपना डोमेन या अपने कंट्रोलर सेट करना होगा –

संबंधित मुद्दे