Как я могу получить имя входа в Windows от имени домена AD - PullRequest
0 голосов
/ 06 октября 2011

У меня есть доменное имя AD, например, MyDomain.com, и доменное имя Windows, например, MD (MD = MyDomain).Как я могу получить доменное имя win logon из домена AD, используя DirectoryEntry.Properties collection?

1 Ответ

0 голосов
/ 06 октября 2011

Возможно, вы могли бы использовать это:

string username = "<username>";

DirectoryEntry de = new DirectoryEntry(
    "LDAP://" + ConfigurationManager.AppSettings["ADDomain"],
    ConfigurationManager.AppSettings["ADUsername"],
    ConfigurationManager.AppSettings["ADPassword"]);

DirectorySearcher ds = new DirectorySearcher(de);
ds.Filter = string.Format("samaccountname={0}",
    (username.Split('\\').Length > 1) ? username.Split('\\')[1] : username);

SearchResult result = ds.FindOne();
if (result == null)
    throw new ArgumentException(
        string.Format("Username '{0}' does not exist in the active directory", username), "username");

Затем вы можете использовать коллекцию Properties объекта SearchResult для получения информации от объекта пользователя (например, result.Properties ["samaccountname"]). Вот некоторые полезные ключи:

  • Элемент списка samaccountname (имя пользователя Windows)
  • Элемент списка displayName (Полное имя)
  • Элемент списка phoneNumber
  • Элемент списка рассылки (адрес электронной почты)
  • Отдел элемента списка (к которому относится пользователь)
...