Exchange и PowerShell работаем с почтовыми ящиками (заметки)

Сегодня решил закинуть в блог несколько полезных команд для работы с почтовыми ящиками используя командную строку PowerShell. Все команды рабочие, используются периодически для разных административных нужд. В начале несколько команд, без понимания которых дальше будет сложно разобраться.
1) Полная статистика почтового ящика пользователя

[PS] > Get-Mailbox user | select *

Эта команда выводит все параметры, которые могут потребоваться для работы с почтовым ящиком.
2) Для того, чтобы посмотреть кто имеет полные права к конкретному почтовому ящику выполняем следующую команду:

[PS] > Get-MailboxPermission | where {$_.AccessRights -eq «FullAccess» -and $_.IsInherited -eq $false}

Указываем алиас почтового ящика и смотрим кто имеет права доступа FullAccess
3) Добавляем права доступа FullAccess к почтовому ящику пользователя:

[PS] > Add-MailboxPermission -Identity -User -AccessRights FullAccess -InheritanceType All -Automapping $false

Обращаем внимание на параметр: -Automapping $false — он говорит чтобы пользователю автоматически не подключался почтовый ящик пользователя .

Дальше более интересные комбинации команд.
4) Добавляем разрешения FullAccess ко всем почтовым ящикам в организации. Для начала соберем массив почтовых ящиков с уникальными параметрами, которых будет достаточно для наших задач Name, Alias, ServerName, ProhibitSendQuota:

[PS] > $MailboxList = Get-Mailbox $Identity

Затем выполняем команду:

[PS] > $MailboxList | ForEach {Add-MailboxPermission -Identity $_.Alias -User -AccessRights FullAccess -InheritanceType All -Automapping $false}

В результате выполнения этих команд пользователь будет иметь полный доступ ко всем почтовым ящикам и у него будет отключено автоматическое подключение почтовых ящиков, к которым он имеет доступ.
5) Удаляем разрешения FullAccess ко всем почтовым ящикам в организации. Опять создаем массив из примера 4 и выполняем команду:

[PS] > $MailboxList | ForEach {Remove-MailboxPermission -Identity $_.Identity -User -AccessRights FullAccess -InheritanceType All -confirm:$False}

Пользователь больше не имеет прав доступа к почтовым ящикам кроме своего (SELF). Здесь еще хочу обратить внимание на параметр: -confirm:$False Он освобождает нас от подтверждения удаления прав доступа к каждому почтовому ящику.

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

P.S. Ахтунг: не забываем про кавычки

Реклама

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s