.NET 4.x Получить имя пользователя из AD - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Подскажите как получить ФИО пользователя из AD или с ПК. Пользователь на ПК под доменной УЗ. Получить данные такого вида: Иванов Иван Иванович

Решение задачи: «.NET 4.x Получить имя пользователя из AD»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.DirectoryServices.AccountManagement;
using System.Linq;
 
namespace XXX.YYY.AD
{
    public class AdManager : IDisposable
    {
        private readonly object _syncRoot = new object();
        public PrincipalContext Context { get; set; }
 
        public AdManager(PrincipalContext context)
        {
            Context = context;
        }
 
        public List<UserPrincipal> GetAllUsers()
        {
            using (var principal = new UserPrincipal(Context))
            using (var search = new PrincipalSearcher(principal))
            using (var principalSearchResult = search.FindAll())
            {
                return principalSearchResult.Cast<UserPrincipal>().Where(result => result != null).ToList();
            }
        }
 
        public UserPrincipal GetUser(string name)
        {
            using (var principal = new UserPrincipal(Context) {Name = name})
            using (var search = new PrincipalSearcher(principal))
            {
                return (UserPrincipal) search.FindOne();
            }
        }
        
        public void Dispose()
        {
            if (Context != null)
                lock (_syncRoot)
                    if (Context != null)
                    {
                        Context.Dispose();
                        Context = null;
                    }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.533 из 5
Похожие ответы