Please do
not follow the logic that retrieving user details from the Active Directory
mentioned here, please visit my TechNet
article for alternate approaches
|
Last week,I prepared the small SharePoint utility to retrieving the Active Directory users and synchronize with SharePoint List.
public string LDAPUsers() { string listD = ""; string strResult = ""; string strRes = ""; DirectoryEntry entry = new DirectoryEntry("LDAP://domainName", "userid", "pAsSwrd"); DirectorySearcher mySearcher = new DirectorySearcher(entry); mySearcher.Filter = "((objectCategory=Person))"; foreach (SearchResult resEnt in mySearcher.FindAll()) { listD = listD + resEnt.GetDirectoryEntry().Name + ","; } string[] test = listD.Split('='); for (int i = 0; i < test.Length; i++) { strResult = strResult + test[i].ToString(); } string[] test1 = strResult.Split(','); for (int j = 0; j < test1.Length; j++) { strRes = strRes + test1[j] + ","; } return strRes.Replace("CN", ""); ; }Below code pushing the string array values in to SharePoint List.
SPSite site = new SPSite("http://moss:4100"); SPWeb web = site.OpenWeb(); SPList list = web.Lists["LDAP User"]; string[] names = LDAPUsers().Split(','); for (int j = 0; j < names.Length; j++) { SPListItem item = list.Items.Add(); web.AllowUnsafeUpdates = true; item["Title"] = names[j].ToString(); web.AllowUnsafeUpdates = true; item.Update(); web.AllowUnsafeUpdates = false; }