Pregunta

tengo un grupo de ventanas llamado "windgrp" que tiene tres miembros en ella:

  • Administradores
  • testDomain.Administrator
  • usuario1

Tengo este código para mostrar los miembros presentes en un grupo:

using (DirectoryEntry groupEntry = 
  new DirectoryEntry("WinNT://./" + userGroupName + ",group"))
{
    foreach (object member in (IEnumerable)groupEntry.Invoke("Members"))
    {
        using (DirectoryEntry memberEntry = new DirectoryEntry(member))
        {

            listbox.itms.add(memberentry.name);
        }
    }
}

Esto me da el resultado:

  • Administrador
  • Administrador
  • usuario

no me muestran a qué dominio de la segunda entrada pertenece.

¿Cómo puedo obtener el dominio?

¿Fue útil?

Solución

Es necesario que subir la jerarquía de objetos. Así que si usted tiene su usuario, puede iniciar la recursión desde allí arriba, en busca de clases shcema que satisfacen los criterios de búsqueda.

           public DirectoryEntry FindDomain(DirectoryEntry memberEntry) 
           {

                if(memberEntry.SchemaClassName.ToLower().Contains("domain") 
                {
                       return memberEntry;
                }   
                if(memberEntry.Parent !=null) 
                {
                         return FindDomain(memberEntry.Parent);
                }
                return null;
           }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top