C # Получить подробную информацию о делегате от Exchange - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь получить список делегатов, которые имеют права редактора или автора на календарь определенных пользователей. Я пытался использовать API веб-служб Exchange (EWS), но у меня, кажется, нет правильного уровня разрешений, чтобы можно было запрашивать это. Вот код, который я использую:

ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
service.Url = new Uri("https://mailurl/Exchange.asmx");

Mailbox mailbox = new Mailbox("some_user@some_domain.com");
var result = service.GetDelegates(mailbox, true);

Приведенный выше код приводит к следующему исключению, которое, как я предполагаю, связано с разрешениями: «Указанный объект не найден в хранилище».

В качестве альтернативы я затем попытался использовать пространство имен System.DirectoryServices (DirectoryEntry, DirectorySearcher вместе с методом FindOne) для запроса в Active Directory (AD) списка делегатов для данного пользователя. Я обнаружил свойство publicdelegates , но, похоже, я получил список всех имен делегатов и не содержит никакой дополнительной информации о конкретном уровне разрешений, которые есть у каждого делегата. Я надеялся получить только список делегатов, имеющих права редактора или автора.

Есть предложения? Заранее спасибо.

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете использовать командную консоль Exchange и Get-MailboxFolderPermission https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/get-mailboxfolderpermission?view=exchange-ps, которые позволят вам получить только те разрешения, которые установлены в самой папке календаря. Проблема с использованием делегатов, подобная описанной выше, заключается в том, что при этом будут захватываться только делегаты Outlook, но пользователи, тем не менее, могли явно предоставлять права на папку как пользователю, так и администратору. Для запуска описанного выше из управляемого кода вам просто нужно что-то вроде https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/ff326159(v%3Dexchg.140)

...