I know there are lots of methods already given in stackoverflow but in my case all of them taking too long time. I post a method which takes less time but still it is too long to implement. Please help me so that it takes less execution time. Also take consideration that i am using .net 2.0 framework.\[code\] try { List<string> lstEmails = new List<string>(); string filter1 = string.Format("(anr={0})", "groupname"); DirectorySearcher searcher = new DirectorySearcher(entry); searcher.Filter = filter1; searcher.SearchScope = SearchScope.Subtree; searcher.PropertiesToLoad.Add("mail"); IEnumerable res = (IEnumerable)searcher.FindOne().GetDirectoryEntry().Invoke("members"); //IEnumerable<string> rest = (IEnumerable<string>)res; if (res != null) { try { int index = 0; foreach (IEnumerable resl in res) { DateTime start = DateTime.Now; DirectoryEntry dr = new DirectoryEntry(resl); string strEmail = null; if (dr.Properties["mail"].Value != null) { strEmail = dr.Properties["mail"].Value.ToString(); Console.WriteLine(strEmail); DateTime stop = DateTime.Now; Console.WriteLine((stop - start).TotalMinutes.ToString()); index++; Console.WriteLine(index.ToString()); } if (!string.IsNullOrEmpty(strEmail)) { // groupMemebers.Add("sam",strEmail); } } } catch { } } } catch { }\[/code\]