[FW 3.5] Obtener los miembros recursivamente de un grupo en directorio activo

Hola a todos, con el FW 3.5 hay una opción para recoger todos los miembros de un grupo en modo recursivo, así que ya se acabó de ir buscando los miembros del grupo y ver si tenía a su vez miembros y todo el rato lo mismo.

 

Es que estos chicos de .NET son muuuuuy listos. Os pongo un ejemplillo pero es sumamente sencillo.

El espacio de nombres a usar es System.DirectoryServices.AccountManagement

 

string nombreGrupo = "grupo";
string nombreDominio = "dominio";

using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, nombreDominio))
{
GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, nombreGrupo);

if (grp != null)
{

foreach (Principal p in grp.GetMembers(true))
{
Console.WriteLine(p.Name);
}
grp.Dispose();
}
}

 

Y ya está, la gracia está en el GetMembers(true). Una cosa a tener en cuenta es que si el usuario que ejecuta este código no tiene permisos para poder ver un grupo dará un error de “Member not found”, así que es necesario que tenga permisos por lo menos de visualización.

Este post es corto, y creo que va a ser una serie de post para hacer cosas sencillas, porque creo que cuando estoy mucho tiempo sin desarrollar en algo, al final las cosas más sencillas o simples son las que más buscamos, o por lo menos en mi caso que soy un rato zote.

 

Un saludo a todos.

“Ar” Mario Ropero.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *