Я пытаюсь выполнить поиск в моей организации. Активный каталог для пользователей.Поиск пользователей в Active Directory на основе имени, фамилии и имени дисплея
Если FirstName или LastName или отображаемое_имя соответствует определенному значению строки, она должна возвращать пользователь.
Мой код:
// 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())
{
//
}
Проблема заключается в том, что я могу найти только один фильтр.
Я могу И фильтры, но не ИЛИ. Доступны ли какие-либо решения?
См. [Возможное решение этой проблемы здесь] (http://stackoverflow.com/questions/3195124/ambiguous-name-resolution-anr-ma-equivalent-in-net-3-5-directoryservices-ac) - используя расширяемость 'UserPrincipal' для доступа к свойству' anr' (неоднозначное разрешение имен), которое позволяет выполнять поиск по нескольким свойствам, связанным с именем –
@marc_s: Спасибо за решение. Он работает правильно. Можете ли вы опубликовать это как ответ. Чтобы я мог принять это? –