Obtener los miembros del grupo ventanas junto con sus nombres de dominio
-
10-10-2019 - |
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?
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