private ActionResult searchAllUsers(DirectoryEntry de) { ActiveDirectoryAccount viewModel = new ActiveDirectoryAccount(); List <Account> allUsersView = new List <Account>(); DirectorySearcher userSearcher = new DirectorySearcher(de); userSearcher.SearchScope = SearchScope.OneLevel; // don't recurse down userSearcher.Filter = "(&(objectCategory=person)(objectClass=user))"; foreach (SearchResult user in userSearcher.FindAll()) { allUsersView.Add(buildUser(user)); } viewModel.Accounts = allUsersView; return(View(viewModel)); }
private ActionResult searchByUserName(String user, DirectoryEntry de) { DirectorySearcher searcher = new DirectorySearcher(de) { PageSize = int.MaxValue, Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=" + user + "))" }; var result = searcher.FindOne(); if (result == null) { Console.Write("result was null"); } ActiveDirectoryAccount viewModel = new ActiveDirectoryAccount(); List <Account> allUsersView = new List <Account>(); try { string displayName = ""; if (result.Properties.Contains("displayName")) { displayName = result.Properties["displayName"][0].ToString(); //ViewBag.lastname = surname; } string surname = ""; if (result.Properties.Contains("sn")) { surname = result.Properties["sn"][0].ToString(); //ViewBag.lastname = surname; } string firstname = ""; if (result.Properties.Contains("givenName")) { firstname = result.Properties["givenName"][0].ToString(); //ViewBag.firstname = firstname; } string Alias = ""; if (result.Properties.Contains("sAMAccountName")) { Alias = result.Properties["sAMAccountName"][0].ToString(); //ViewBag.lastname = surname; } string JobTitle = ""; if (result.Properties.Contains("title")) { JobTitle = result.Properties["title"][0].ToString(); //ViewBag.firstname = firstname; } string Department = ""; if (result.Properties.Contains("department")) { surname = result.Properties["department"][0].ToString(); //ViewBag.lastname = surname; } Account m = new Account(); m.displayName = displayName; m.givenName = firstname; m.SN = surname; m.sAMAccountName = Alias; m.title = JobTitle; m.department = Department; allUsersView.Add(m); } catch (Exception e) { Console.WriteLine("Exception caught:\n\n" + e.ToString()); } viewModel.Accounts = allUsersView; return(View(viewModel)); }