I have to populate my autocomplete PeopleEditor-like control based on brililant [ASPTokenInput][1] with all people from my AD domain. Reflecting PeopleEditor shows a real mess in their Active Directory search engine and all potentially helpful classes are internal. 



My test method works fine, but I need to get ALL users from AD(not sharepoint site ones) to populate my list:
![How it looks][2]

    public string GetUsers(string filter)
        {
            var spWeb = SPContext.Current.Web;
            SPUserCollection allusers = spWeb.AllUsers;
            List<SPUser> users = allusers.Cast<SPUser>().ToList();
            var query = from spUser in users.Select(usr => new {id = usr.ID, name = usr.Name})
                            .Where(p => p.name.IndexOf(filter, StringComparison.InvariantCultureIgnoreCase) >= 0)
                        select new {id = spUser.id.ToString(), spUser.name};

            return new JavaScriptSerializer().Serialize(query);
        }

How can I query active directory like this? Is it possible to retrieve all AD connection settings from sharepoint itself? I need just id and user name to fill my dropdownlist Converting this to SPUserCollection is another big deal.

It would be great to use some built-in SP methods like this:

    [SubsetCallableExcludeMember(SubsetCallableExcludeMemberType.UnsupportedSPType)]
     public static SPPrincipalInfo ResolveWindowsPrincipal(SPWebApplication webApp,      string input, SPPrincipalType scopes, bool inputIsEmailOnly)
     {
        return ResolveWindowsPrincipal(null, webApp, input, scopes, inputIsEmailOnly);
     }

 

 

        
 

 

 

 



  [1]: https://github.com/harindaka/ASPTokenInput
  [2]: https://i.sstatic.net/Tcz8m.png