Я пытаюсь найти , какие календари других пользователей у данного пользователя имеют права редактора над в приложении C# на стороне сервера.Как получить «Какие календари других пользователей могут редактировать пользователи» с Exchange
В веб-приложении, которое я пишу, когда пользователь имеет разрешения «Редактировать календари» для другого пользователя, наш клиент хотел бы, чтобы они могли изменять эту конфигурацию другого пользователя в нашем приложении. В результате, когда пользователь регистрируется в нашем веб-приложении, мы должны иметь возможность получить, кто эти пользователи будут отображать их для целевого пользователя.
Я просмотрел командлеты EWS и PowerShell, которые могут получить меня «Список пользователей с правами редактора для этого календаря почтового ящика», но ни один из них не обрабатывает «Список календарей, которые этот пользователь может редактировать». Это заставляет меня думать, что это будет аналогичная проблема для определения прав файловой системы (т. Е. Один вызов спросить «Дайте мне пользователей, которые могут получить доступ к в этой папке с файловой системой», но операция перечисления/оценки всех ACL в файловой системе, чтобы ответить «дайте мне все папки, к которым у этого пользователя есть доступ»).
Хотя я могу идти по пути «получить разрешения для каждого календаря по умолчанию для каждого почтового ящика» и сопоставить его с пользователями в нашем приложении, это потребует задержки между предоставленными разрешениями и приложением, зная об этих разрешениях.
Я смотрел на EWS и PowerShell для этого, но я не ограничен этими API. Приложение работает на Windows Server 2012+ и может быть назначено любые разрешения, необходимые для получения этой информации (он не работает как пользователь, а скорее учетная запись службы). Но я открыт для любой API/метод, который может получить эту информацию при условии, что она будет быстрее, чем операция перечисления ACL большого почтового ящика.
Так что мне интересно, есть ли команда PowerShell или метод EWS, который будет извлекать для пользователя все папки во всех почтовых ящиках среды Exchange, к которым пользователь имеет доступ?
EDIT: Похоже, что ответ такой, как я подозревал: нет, нет. Единственный вариант - перечислить почтовые ящики для разрешений.