.NET 4.x Получить имя пользователя из AD, вида: Иванов Иван Иванович?

Добрый день.

Подскажите пожалуйста как можно получить имя пользователя из Active Directory, пользователь на ПК под доменной УЗ.
Получить данные такого вида: Иванов Иван Иванович
  • Вопрос задан
  • 6224 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Sumor
Есть два пути.
Первый - через библиотеку System.DirectoryServices.dll (нужно дополнительно подключать в References (ссылки)).
Использовать класс DirectoryEntry, DirectorySearcher.
Второй - использовать ODBC драйвер к ActiveDirectory.

При использовании обоих путей нужно учесть несколько необычную структуру и методы работы с ActiveDirectory.
Например, для выдачи всех пользователей вам нужен запрос вида LDAP://CN=users,DC=server,DC=com
Запрос через ODBC для выдачи имён пользователей должен выглядеть где-то так (нет возможности точно проверить):
SELECT FullName FROM 'LDAP://CN=users,DC=server,DC=com'
Ответ написан
Комментировать
@sharovd Автор вопроса
Нашел решение которое выводит ФИО из AD по логину.
Необходимо подключить System.DirectoryServices

private void getUser(string uLogin)
        {
            string filter = string.Format("(&(ObjectClass={0})(sAMAccountName={1}))", "person", uLogin);
            string domain = "[ВАШ_ДОМЕН]";
            string[] properties = new string[] { "fullname" };
 
            DirectoryEntry adRoot = new DirectoryEntry("LDAP://" + domain, null, null, AuthenticationTypes.Secure);
            DirectorySearcher searcher = new DirectorySearcher(adRoot);
            searcher.SearchScope = SearchScope.Subtree;
            searcher.ReferralChasing = ReferralChasingOption.All;
            searcher.PropertiesToLoad.AddRange(properties);
            searcher.Filter = filter;
 
            SearchResult result = searcher.FindOne();
            DirectoryEntry directoryEntry = result.GetDirectoryEntry();
          
            string displayName = directoryEntry.Properties["displayName"][0].ToString();
            MessageBox.Show(displayName);
        }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы