private List <GrupoAD> BuscarTodos() { //Dados Conexão AD Context.ServerIp = "10.0.210.8"; //Lista de Usuários List <GrupoAD> restultado = new List <GrupoAD>(); //Abre conexão com o AD OpenAdConnection(); // Cria o objeto search DirectorySearcher search = new DirectorySearcher(ldapConnection); // Adiciona Filtro search.Filter = "(objectClass=group)"; search.SearchScope = SearchScope.Subtree; SearchResultCollection resultCol = search.FindAll(); // Checa se achou algo if (resultCol != null) { foreach (SearchResult r in resultCol) { GrupoAD grupo = new GrupoAD(); grupo.GrupoNome = r.Properties["cn"][0].ToString(); restultado.Add(grupo); } } return(restultado); }
//------------------------------- Fim Funções AD ------------------------------------------// //------------------------------- Funções Controller ------------------------------------------// // GET: Computadores public ActionResult Index() { GrupoAD grupo = new GrupoAD(); var list = new List <GrupoAD>(); return(View(list.OrderBy(u => u.GrupoNome))); }
public ActionResult Procurar(string grupos) { GrupoAD computador = new GrupoAD(); var list = new List <GrupoAD>(); if (grupos != "") { list = ProcurarGrupos(grupos); } else { list = BuscarTodos(); } return(PartialView("Resultado", list.OrderBy(u => u.GrupoNome).Take(100))); }
//Busca Os Grupos do Usuário Modelo public List <GrupoAD> BuscaGrupos(string username) { //Lista de grupos List <GrupoAD> grupos = new List <GrupoAD>(); //Função try { //Abre conexão com o AD OpenAdConnection(); // Cria o objeto search DirectorySearcher search = new DirectorySearcher(ldapConnection); // Adiciona Filtro search.Filter = "(samAccountName=" + username + ")"; search.SearchScope = SearchScope.Subtree; search.Asynchronous = true; SearchResultCollection resultCol = search.FindAll(); // Checa se achou algo if (resultCol != null) { foreach (SearchResult r in resultCol) { foreach (object grp in r.Properties["memberOf"]) { GrupoAD grupo = new GrupoAD(); grupo.GrupoNome = grp.ToString(); grupos.Add(grupo); } } } return(grupos); } catch { return(grupos); } }
public List <GrupoAD> ProcurarGrupos(string grupos) { //Dados Conexão AD Context.ServerIp = "10.0.210.8"; //Lista de Usuários List <GrupoAD> restultado = new List <GrupoAD>(); //Função try { //Abre conexão com o AD OpenAdConnection(); // Cria o objeto search DirectorySearcher search = new DirectorySearcher(ldapConnection); // Adiciona Filtro search.PageSize = 50; search.SizeLimit = 50; search.Filter = "(&(objectClass=group)(cn=*" + grupos + "*))"; search.SearchScope = SearchScope.Subtree; SearchResultCollection resultCol = search.FindAll(); // Checa se achou algo if (resultCol != null) { foreach (SearchResult r in resultCol) { GrupoAD grupo = new GrupoAD(); grupo.GrupoNome = r.Properties["cn"][0].ToString(); restultado.Add(grupo); } } return(restultado); } catch { return(restultado); } }