C# - Найдите все адреса электронной почты для Пользователя Active Directory

Приложение. StartUpPath;

9
задан pgb 22 October 2009 в 19:09
поделиться

2 ответа

Вы видели класс DirectoryEntry. Вы можете получить свойства оттуда, если у вас настроена строка LDAP. Свойство почты - это ирония судьбы, не так ли?

0
ответ дан 4 December 2019 в 06:57
поделиться

Вот возможное решение с использованием различных классов в пространстве имен System.DirectoryServices .

string username = "username";
string domain = "domain";

List<string> emailAddresses = new List<string>();

PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, domain);
UserPrincipal user = UserPrincipal.FindByIdentity(domainContext, username);

// Add the "mail" entry
emailAddresses.Add(user.EmailAddress);

// Add the "proxyaddresses" entries.
PropertyCollection properties = ((DirectoryEntry)user.GetUnderlyingObject()).Properties;
foreach (object property in properties["proxyaddresses"])
{
   emailAddresses.Add(property.ToString());
}
33
ответ дан 4 December 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: