искать имя и имя samaccount одновременно - PullRequest
1 голос
/ 29 марта 2012

В настоящее время у меня есть настроенный инструмент выбора людей в sharepoint 2010, который выполняет поиск по названию учетной записи, но также и по имени.

Однако он выполняется двумя различными способами.У меня нет опыта работы со сложными запросами AD, но я полагаю, что я могу сделать это только в одной строке и с ИЛИ?

Что мне нужно, так это то, что оно совпадает: часть имени samaccount ИЛИ часть имени

public static DataTable ExecuteNameQuery(string rootPath, string search)
    {
        string filter = "(&(objectCategory=person)(objectClass=user)(name=*" + search + "*))";
        return ExecuteADQuery(rootPath, filter);
    }


        public static DataTable ExecutesAMAccountNameQuery(string sAMAccountName)
        {
            string filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=*" + sAMAccountName + "*))";
            return ExecuteADQuery("GC:", filter);
        }

1 Ответ

3 голосов
/ 29 марта 2012

Да, вы можете группировать и / или операторы в запросах LDAP, используя следующий синтаксис, в зависимости от вашего примера:

string filter = "(&(objectCategory=person)(objectClass=user)(|(name=*" + search + "*)(samAccountName=*" + search + "*)))";

Это должно выполнить поиск по имени или samAccountName.

Кроме того, MSDN имеет праймер для запросов LDAP .

Надеюсь, что поможет

...