Да, это возможно с помощью запроса в области атрибута. Требуется W2K3 AD или более поздняя версия, но вам будут предоставлены все пользователи с определенным атрибутом, т. Е. Членство в группе или в вашем случае несколько групп (пересечение групп). Один из лучших примеров - из книги Джо Каплана и Райана Даннса «Руководство разработчика по .NET по программированию служб каталогов» для работы с AD. Трудно превзойти страницу 179, чтобы хорошо разобраться.
Предостережение : на этом этапе вы проходите тривиальные поиски в AD, и становится важным ряд вещей, таких как корень поиска, область действия и эффект поиска в некотором потенциально огромном наборе данных для элементов ты хочешь. Просмотр 50 или 60 тысяч пользователей на предмет поиска членов группы действительно влияет на производительность и готовность делать постраничные результаты или подобное в случае большого набора данных. Каплан / Райан отлично справляются с работой, чтобы доставить вас туда, куда вам нужно. Тем не менее, я использовал их в двух проектах AD с большим успехом. Возможность извлечения данных из AD без рекурсивных запросов ОЧЕНЬ стоит, и я обнаружил, что это быстро, пока я контролирую размер своего набора данных.