Команда PowerShell для просмотра, к каким календарям Exchange у пользователя есть доступ

Вопрос или проблема

Я пытаюсь найти команду PowerShell, которая покажет мне, какие календари определенный пользователь имеет права доступа.

Я могу использовать Get-MailboxFolderPermission -identity “User:\Calendar”, чтобы узнать, какие права установлены на этот конкретный почтовый ящик, но мне нужно что-то вроде обратного.

У меня Exchange 2010.

Ниже приведенная команда работает в моей среде:

Get-Mailbox | % { Get-MailboxFolderPermission (($_.PrimarySmtpAddress.ToString())+”:\Calendar”) -User *user1* -ErrorAction SilentlyContinue} | select Identity,User,AccessRights

Она отобразит все почтовые ящики, на чьем календаре у user1 есть дополнительные права.

Ссылка: http://www.michev.info/Blog/Post/1516/quickly-list-all-mailboxes-to-which-a-particular-user-has-access

Вы можете попробовать этот скрипт.
https://o365reports.com/2021/11/02/get-calendar-permissions-report-for-office365-mailboxes-powershell/

Пример вывода:
введите описание изображения здесь

Кроме того, скрипт может генерировать 6 различных отчетов о правах доступа к календарю в зависимости от параметра, который вы передаете при выполнении скрипта.

Ответ или решение

Для того чтобы узнать, какие календари доступны определённому пользователю в Exchange 2010, можно воспользоваться командлетами PowerShell. Если вы хотите получить права доступа пользователя к календарям других пользователей, можно использовать следующую команду:

Get-Mailbox | ForEach-Object { 
    Get-MailboxFolderPermission "$($_.PrimarySmtpAddress):\Календарь" -User "user1" -ErrorAction SilentlyContinue 
} | Select-Object Identity, User, AccessRights

Что делает эта команда?

  1. Get-Mailbox: Этот командлет получает список всех почтовых ящиков в вашей организации.

  2. ForEach-Object: Перебирает каждый почтовый ящик, полученный на предыдущем шаге.

  3. Get-MailboxFolderPermission: Для каждого почтового ящика команда запрашивает права доступа к папке "Календарь" конкретного пользователя (в данном примере — "user1"). Обратите внимание, что если права доступа отсутствуют, к ним будет применён параметр -ErrorAction SilentlyContinue, что предотвращает вывод сообщений об ошибках.

  4. Select-Object: Этот командлет выбирает три свойств для окончательного вывода: Identity (идентификатор почтового ящика), User (пользователь, чьи права доступа проверяются), и AccessRights (права доступа).

Вывод данных

Команда выдаст список всех почтовых ящиков, в которых указанный пользователь "user1" имеет доступ к календарю. Важно понимать, что вывод будет включать только те почтовые ящики, где "user1" имеет специальные права доступа.

Примечания

  • Убедитесь, что вы запускаете эти команды с необходимыми правами доступа. Вам может потребоваться быть администратором Exchange для выполнения подобных команд.
  • Если вам нужно проверять права доступа для нескольких пользователей, вы можете легко модифицировать этот скрипт, добавив дополнительный цикл или передав список пользователей.

Эти команды позволят вам эффективно управлять доступом к календарям и получать необходимую информацию в вашей среде Exchange 2010.

Оцените материал
Добавить комментарий

Капча загружается...