none
Obtener nombres de usuario de Active Directory RRS feed

  • Pregunta

  • Hola a todos

       Estoy tratando de mostrar, en un desplegable, los nombres de usuario contenidos en un Active Directory.

    Tengo la siguiente función para ello:

    public static List<Usuario> MostrarUsuariosDominio()
            {
                List<Usuario> rst = new List<Usuario>();
    
                try
                {
    
                    DirectoryContext dc = new DirectoryContext(DirectoryContextType.Domain, Environment.UserDomainName);
                    Domain domain = Domain.GetDomain(dc);
                    DirectoryEntry de = domain.GetDirectoryEntry();
    
                    DirectorySearcher adSearcher = new DirectorySearcher(de); 
    
                    adSearcher.Filter = "(&(objectClass=user)(objectCategory=person))";
                    adSearcher.PropertiesToLoad.Add("samaccountname");
                    
                    SearchResult result;
                    SearchResultCollection iResult = adSearcher.FindAll();
    
                    Usuario item;
                    if (iResult != null)
                    {
                        for (int counter = 0; counter < iResult.Count; counter++)
                        {
                            result = iResult[counter];
                            if (result.Properties.Contains("samaccountname"))
                            {
                                item = new Usuario();
    
                                item.Nombre = (String)result.Properties["samaccountname"][0];
    
                                rst.Add(item);
                            }
                        }
                    }
    
                    adSearcher.Dispose();
                }
    
                catch (Exception ex)
                {
                    Usuario item = new Usuario();
                    item.Nombre = "No se pudo recuperar la lista de usuarios";
                    rst.Add(item);
                }
    
                return rst;
            }

    Cuando ejecuto el programa en el PC que hace de controlador de dominio funciona perfectamente, me devuelve todos los usuarios. Pero si lo ejecuto en otro PC, me devuelve la excepción: "El dominio especificado no existe o no se puede establecer contacto con él."

    ¿Hay alguna forma de hacer que pueda recuperar la lista desde otro PC?

    Un saludo y gracias

    lunes, 7 de mayo de 2018 11:43

Todas las respuestas

  • hola

    >>Pero si lo ejecuto en otro PC, me devuelve la excepción:

    pero esa otra pc esta dentro del dominio ?

    recuerda que la pc debe estar en el dominio, con lo cual un admin de dominio debe agregarla y te debes autenticar con un usuario de dominio en windows para tener acceso

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 7 de mayo de 2018 15:46