System.DirectoryServices предоставляет возможность писать запросы LDAP. что-то вроде этого:
(& (ObjectClass = Пользователь) (! Memberof = сп = group1, ...) (! Memberof = сп = group2, ...) (! Memberof = сп = group3, ...))
Я считаю, что каждый член условия должен быть четко прописан.
Я просто отвечаю быстро, поэтому у меня нет 100% кода, чтобы показать вам.