Фильтрация пользователей Active Directory в алфавитном порядке - PullRequest
2 голосов
/ 10 февраля 2010

Мне нужно изменить свойство в активном каталоге для каждого пользователя в компании, в которой я работаю. Это код, который я использую, чтобы получить всех пользователей.

        String domain = Properties.Settings.Default.ADConn;
        String user = Properties.Settings.Default.ADAdmin;
        String pass = Properties.Settings.Default.ADPass;

        DirectoryEntry ADEntry = new DirectoryEntry(domain, user, pass);
        DirectorySearcher ADSearcher = new DirectorySearcher(ADEntry);
        ADSearcher.Filter = "(&(objectClass=user)(objectCategory=person))";                        
        SearchResultCollection allResults = ADSearcher.FindAll();            
        foreach (SearchResult result in allResults)
        {
            DirectoryEntry deUser = result.GetDirectoryEntry();

             //....Do stuff here

В компании большое количество людей, и поэтому меня попросили разделить пользователей по алфавиту и обрабатывать по одной группе пользователей за раз. Например, измените свойства для пользователей [A-G], затем [H-N], затем [O-Z]. Как я могу изменить свой фильтр, чтобы дать мне пользователей от X до Y?

РЕДАКТИРОВАТЬ: Мой окончательный результат должен был сделать следующее:

ADSearcher.Filter = "(&(objectClass=user)(objectCategory=person)(sAMAccountName>=X)(sAMAccountName<=Y))";                        

Большое спасибо за вашу помощь.

1 Ответ

1 голос
/ 10 февраля 2010

Ранее я использовал OpenLDAP, поэтому я немного знаком с фильтрами и нашел документ синтаксиса поискового фильтра , который может помочь. Вот то, что я думаю, возможно:

(&(objectClass=user)(objectCategory=person)(cn>='a')(cn<='b'))

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...