Как получить отображаемое имя вошедшего в систему пользователя в EWS? - PullRequest
4 голосов
/ 30 ноября 2011

Exchange Autodiscovery предоставит мне отображаемое имя пользователя через свойство UserSettingName.UserDisplayName.

Однако в случаях, когда автообнаружение не удается, и соединение должно быть выполнено вручную, я не могу понять, как получить DisplayName.

Я пробовал это, но я просто получаю адрес электронной почты пользователей:

 _service = new ExchangeService();
 _service.Credentials = new System.Net.NetworkCredential(exchangeSettings.EmailAddress, exchangeSettings.Password);
 _service.Url = new Uri(exchangeSettings.ExternalEwsUrl);

 NameResolutionCollection resolvedNames = _service.ResolveName(exchangeSettings.EmailAddress);
 exchangeSettings.UserDisplayName = resolvedNames.First().Mailbox.Name;

Спасибо

1 Ответ

7 голосов
/ 05 декабря 2011

Если вы собираетесь использовать ResolveName и хотите использовать displayName, вам следует использовать перегрузку, чтобы указать, что операция должна возвращать контактную информацию AD.Тогда вы можете просто использовать свойство DisplayName.

NameResolutionCollection ncCol = 
 service.ResolveName("user@domain.com",ResolveNameSearchLocation.DirectoryOnly,true);

Console.WriteLine(ncCol[0].Contact.DisplayName);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...