Я уверен, что вы также провели свое исследование. Я не верю, что существует простой способ получить доступ к группам, которые настроены как первичные, или как часть групп, являющихся членами той же группы, что и пользователи домена. Моя учетная запись в моей AD имеет 125 групп, но только 70 отображается, если я запрашиваю через powershell или DirectoryEntry.
Я знаю, что следующий код работает и вытягивает все группы независимо от того, какой это тип группы.
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal user = (UserPrincipal)Principal.FindByIdentity(ctx, userID);
PrincipalSearchResult<Principal> userGroups = user.GetAuthorizationGroups();