Представим себе ситуацию, когда один из ключевых сотрудников серьезно заболел, а в его почтовом ящике находятся данные для составления срочного отчета и его менеджер попросил предоставить права на этот ящик другому пользователю. Вы это сделали, но права забрать забыли. Со временем в компании может возникнуть хаос в правах доступа к почтовым ящикам.
Одним из требований аудита почтовой организации Exchange является наличие процедуры проверки прав доступа к почтовым ящикам пользователей на регулярной основе. Только владельцы почтовых ящиков могут иметь доступ с своему ящику, а если доступ есть у другого пользователя, то на это должна быть заявка или специальное разрешение. Причем все этапы выдачи и отзыва прав должны быть задокументированы и выполняться на основании процедур компании.
Для получения прав доступа к почтовым ящикам и сохранения их в текстовый файл я набросал небольшой скрипт на PowerShell:
get-mailbox -resultsize unlimited | Get-MailboxPermission | where-object {($_.Deny -eq $False) -and($_.isinherited -eq $false) -and ($_.User -notlike "*SELF*")} | sort-object identity |format-table User, AccessRights -GroupBy Identity -AutoSize > c:\mailbox-permission.txt
- Получить список всех почтовых ящиков в организации Exchange
- Получить права на эти почтовые ящики
- Отфильтровать только нужные права
- Отсортировать и сгруппировать по почтовым ящикам
- Вывести информацию в текстовый файл, т.к. вывод иногда может быть большой.