Я пишу код, выполняющий задачи администрирования на сервере Exchange, и мне нужно установить разрешения для общей папки, предоставляя мне (то есть, почтовый ящик/пользователь, подключенный к Exchange) в данной папке.Извлечение объекта UserId текущего пользователя
Код для этого вдоль этих линий:
UserId userId = ???;
myFolder.Permissions.Add(userId, FolderPermissionLevel.Owner);
myFolder.Update();
Этот код будет работать нормально (и нет никаких проблем со мной, имеющие разрешения для предоставления себе права, так как я нахожусь в группе AD управления общими папками), но проблема в том, что у меня нет объекта UserId
, который представляет текущего пользователя. У меня даже нет primarySmtpAddress
, что является еще одним способом получить UserId
. Все, что я знаю, это то, что я в контексте пользователя, имеющего разрешения на почтовый ящик, - это может быть текущий пользователь Windows, это может быть просто NetworkCredential
, который был передан моей библиотеке.
Есть ли способ в EWS получить текущий пользователь или, по крайней мере, SMTP-адрес текущего пользователя? Я посмотрел в классе ExchangeService
, но не смог найти ничего такого.