/// <summary> /// This function will take a DL or Group name and return list of users /// </summary> /// <param name="groupName"></param> /// <returns></returns> public List <ADUserDetail> GetUserFromGroup(String groupName) { List <ADUserDetail> userlist = new List <ADUserDetail>(); try { _directoryEntry = null; DirectorySearcher directorySearch = new DirectorySearcher(SearchRoot); directorySearch.Filter = "(&(objectClass=group)(SAMAccountName=" + groupName + "))"; SearchResult results = directorySearch.FindOne(); if (results != null) { DirectoryEntry deGroup = new DirectoryEntry(results.Path); //, LDAPUser, LDAPPassword); System.DirectoryServices.PropertyCollection pColl = deGroup.Properties; int count = pColl["member"].Count; for (int i = 0; i < count; i++) { string respath = results.Path; string[] pathnavigate = respath.Split("CN".ToCharArray()); respath = pathnavigate[0]; string objpath = pColl["member"][i].ToString(); string path = respath + objpath; DirectoryEntry user = new DirectoryEntry(path); //, LDAPUser, LDAPPassword); ADUserDetail userobj = ADUserDetail.GetUser(user); userlist.Add(userobj); user.Close(); } } return(userlist); } catch (Exception ex) { return(userlist); } }
internal ADUserDetail GetUserByFullName(String userName) { try { _directoryEntry = null; DirectorySearcher directorySearch = new DirectorySearcher(SearchRoot); directorySearch.Filter = "(&(objectClass=user)(cn=" + userName + "))"; SearchResult results = directorySearch.FindOne(); if (results != null) { DirectoryEntry user = new DirectoryEntry(results.Path); // LDAPUser, LDAPPassword); return(ADUserDetail.GetUser(user)); } else { return(null); } } catch (Exception ex) { return(null); } }