Получение свойства адреса улицы Active Directory DirectoryEntry - PullRequest
0 голосов
/ 25 октября 2011

У меня есть коллекция Active Directory пользователя DirectoryEntries, и мне нужно получить уличный адрес, связанный с каждым. Я использую что-то вроде:

    bool TryGetPropertyValue(DirectoryEntry de, string propertyName, out string propertyValue)
    {
        if (de.Properties.Contains(propertyName) && de.Properties[propertyName].Count > 0)
        {
            propertyValue = de.Properties[propertyName][0].ToString();
            return true;
        }
        propertyValue = string.Empty;
        return false;
    }

Но я не могу найти значение propertyName, которое получит адрес пользователя. Существует ли он или есть другой способ получить эту информацию?

1 Ответ

3 голосов
/ 25 октября 2011

Будьте осторожны с тем, как вы получаете DirectoryEntry de. С точки зрения чистого LDAP, во время поиска в каталоге лучше указывать атрибуты, которые вы действительно хотите получить. Я знаю, что большинство разработчиков считают, что все атрибуты должны быть возвращаемыми, но с точки зрения LDAP это не так очевидно:

/* Connection to Active Directory
 */
string sFromWhere = "LDAP://WM2008R2ENT:389/dc=dom,dc=fr";
DirectoryEntry deBase = new DirectoryEntry(sFromWhere, "dom\\jpb", "root.123");

DirectorySearcher dsLookFor = new DirectorySearcher(deBase);
dsLookFor.Filter = "(CN=user1 Users)";
dsLookFor.SearchScope = SearchScope.Subtree;
dsLookFor.PropertiesToLoad.Add("cn");
// Add one line for each property you need.
dsLookFor.PropertiesToLoad.Add("...");


SearchResultCollection srcUsers = dsLookFor.FindAll();

С точки зрения имен атрибутов вам лучше обратиться к Схема Active Directory и специальности Все атрибуты .

Чтобы связать атрибут с полем ввода в MMC Active-Directory пользователя и компьютера, вы можете использовать LDP.EXE (который встроен в W2K8 и поставляется из набора ресурсов в W2K3). Еще один интересный инструмент - Apache Directory Studio . Он работает на всех платформах (Linux (MAC), Microsoft) и позволяет просматривать каталог и схему.

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