Поиск пользователей в Active Directory на основе имени, фамилии и отображаемого имени
Я пытаюсь найти в своей организации Active Directory для пользователей.
Если FirstName или LastName или DisplayName соответствуют определенному строковому значению, он должен вернуть пользователей.
Мой код:
// create your domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal qbeUser = new UserPrincipal(ctx);
qbeUser.GivenName = "Ramesh*";
// qbeUser.Surname = "Ramesh*";
// qbeUser.DisplayName= "Ramesh*";
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);
// find all matches
foreach(var found in srch.FindAll())
{
//
}
Проблема в том, что я могу искать только по одному фильтру.
Я могу И фильтры, но не ИЛИ. Доступны ли какие-либо решения?
2 ответа
Решение
Смотрите возможное решение этой проблемы в этом другом вопросе SO.
Вам нужно будет использовать расширяемость UserPrincipal
создать класс-потомок, чтобы получить доступ к anr
свойство (anr = неоднозначное разрешение имен), которое позволяет выполнять поиск сразу в нескольких связанных с именем свойствах.