Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }