Framework 3.5 с System.DirectoryServices.AccountManagement Пространство имен предоставляет метод, который рекурсивно ищет все группы и возвращает группы, членом которых является пользователь.Возвращенный набор может также включать дополнительные группы, в которых система будет считать пользователя членом для целей авторизации.
UserPrincipal.GetAuthorizationGroups()
Группы, которые возвращаются этим методом, могут включать в себя группы из другой области действия и хранилища, чем основной,Например, если принципалом является объект AD DS с DN "CN = SpecialGroups, DC = Fabrikam, DC = com", возвращаемый набор может содержать группы, которые принадлежат "CN = NormalGroups, DC = Fabrikam, DC =".com
В другом направлении вы получили:
GroupPrincipal.GetMembers(bool recursive)
См. Замечания