Проблема с GetAllUsers, игнорирование подчиненных подразделений - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь создать инструмент управления Active-Directory для своей компании, и я хочу получить всех пользователей из определенного подразделения, не получая результатов нижнего (?) - OU.

Структура похожа наэто:

->XXXX.de

-->Germany

--->Users (Here are the Users i want to get)

(These are the unnecessary OUs / Results)

----> Administrative accounts

----> Other Accounts

Мой LDAP-Link (ldapPath) для поиска каталога:

"LDAP://OU=Users,OU=Germany,DC=XXXX,DC=de".

Код:

public SearchResultCollection getAllUsers(string location)
{
    string ldapPath;

    SearchResultCollection allResults;

    try {

        ldapPath = getLdapPathFromLocation(location);

        DirectoryEntry entry = createDirectoryEntry(AD_BWFE, ldapPath);

        DirectorySearcher searcher = new DirectorySearcher(entry);

        searcher.PropertiesToLoad.Add("cn");
        searcher.PropertiesToLoad.Add("sAmAccountName");

        allResults = searcher.FindAll();

        return allResults;
    }

1 Ответ

0 голосов
/ 12 декабря 2018

Сконфигурируйте DirectorySearcher, чтобы он выполнял поиск специально в OU Users, а затем укажите свойство SearchScope как SearchScope.OneLevel (по умолчанию SubTree).

К сожалению, единственная перегрузка конструктора, которая позволяет указать оба сразу, - это конструктор кухонной раковины .

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