He comprobado this publicación ya. Pero no responde mi pregunta. Quiero obtener todos los grupos de directorios activos en los que un usuario en particular es miembro.¿Cómo obtener todos los grupos de AD para un usuario en particular?
He escrito el siguiente código. Pero no puedo seguir adelante ya que no sé cómo dar el filtro y cómo acceder a las propiedades.
class Program
{
static void Main(string[] args)
{
DirectoryEntry de = new DirectoryEntry("LDAP://mydomain.com");
DirectorySearcher searcher = new DirectorySearcher(de);
searcher.Filter = "(&(ObjectClass=group))";
searcher.PropertiesToLoad.Add("distinguishedName");
searcher.PropertiesToLoad.Add("sAMAccountName");
searcher.PropertiesToLoad.Add("name");
searcher.PropertiesToLoad.Add("objectSid");
SearchResultCollection results = searcher.FindAll();
int i = 1;
foreach (SearchResult res in results)
{
Console.WriteLine("Result" + Convert.ToString(i++));
DisplayProperties("distinguishedName", res);
DisplayProperties("sAMAccouontName", res);
DisplayProperties("name", res);
DisplayProperties("objectSid", res);
Console.WriteLine();
}
Console.ReadKey();
}
private static void DisplayProperties(string property, SearchResult res)
{
Console.WriteLine("\t" + property);
ResultPropertyValueCollection col = res.Properties[property];
foreach (object o in col)
{
Console.WriteLine("\t\t" + o.ToString());
}
}
}
¿Alguna idea?
Okie. Aprendí de aquí - http://www.eggheadcafe.com/software/aspnet/30375857/directory-searcher-not-returning-all-groups.aspx que memberOf no devolverá Grupos primarios de un usuario. Pero puedo obtener el PrimaryGroupID que proporciona el RID (?) Del grupo con el que necesito obtener el grupo AD. ¿Alguna idea de como hacerlo? – NLV
Por favor, verifique mi respuesta recién publicada. Tu enfoque actual no funciona muy bien. Si el usuario está asignado a un grupo universal en otro bosque, el grupo universal no se mostrará en el atributo memberOf –