Un esempio in C# per elencare i membri di un gruppo Active Directory con ricorsione o meno
C#
using System.DirectoryServices.AccountManagement;

private static List<string> ADGetGroupMembers(string groupName, bool recursive)
{
    var result = new List<string>();
    using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
    {
        using (GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, groupName))
        {
            if (grp != null)
            {
                foreach (Principal p in grp.GetMembers(recursive))
                {
                    var user = p as UserPrincipal;
                    if (user != null)
                    {
                        result.Add(user.SamAccountName); //user.EmailAddress
                    }
                    result.Add(p.SamAccountName);
                }
            }
        }
    }
    return result;
}
da richiamare con
C#
bool recursive= true;

var result = ADGetGroupMembers("nomeDelGruppo", recursive);
Potrebbe interessarti anche: