Аудит использования почтовых групп


Со временем в организации Exchange Server накапливается множество почтовых групп, или групп распространения (distribution groups). И в один прекрасный момент возникает вопрос о том, нужны ли они все.

Поэтому требуется провести аудит почтовых групп и удалить ненужные.

Замечание. Есть просто почтовые группы distribution groups. Если они не используются для отправки почты, то их можно удалить без опасений. Но также есть mail-enabled security group. Если они не используются для отправки почты, то их можно сделать не почтовыми, а просто группами безопасности, но удалить их сразу нельзя: требуется дополнительный аудит, т.к. группа может использоваться для предоставления прав доступа к ресурсам (файловой шаре, принтеру, сайту и т.п.).

Первый вариант аудита – организационный. Если у вас существует четкая процедура управления жизненным циклом почтовых групп, и все они закреплены за владельцами, то достаточно провести опрос владельцев групп, и по его результатам выполнить удаление ненужных групп. Подобную процедуру поддерживают некоторые средства автоматизации управления Active Directory.

Второй вариант аудита – технический. С помощью анализа журналов можно установить, на какие группы производилась отправка почтовых сообщений за определенный период, а на какие нет. Далее для групп, которые «не используются», назначаем «себя» (имеется в виду несколько администраторов) в качестве модераторов: если кто-то в будущем отправит сообщение на почтовую группу, то мы получим уведомление, сможем проанализировать ситуацию и принять решение (может спам пришел). Спустя некоторое время (месяц, два), можно приступить к удалению уже заведомо неиспользуемых групп.

Ниже скрипт, который реализует эту схему. Оптимизирован по скорости работы.


$OU = "DC=bis,DC=bashtel,DC=ru"

$DNS_Suffix = "bis.bashtel.ru"

$WorkPath = "C:\install\exchange\NotUsedDGs"

$outfile1 = "$WorkPath\NotUsedDGs-$(Get-Date -Format 'yyyyMMddmmss').txt"

$outfile2 = "$WorkPath\NotUsedDGs-$(Get-Date -Format 'yyyyMMddmmss')_Distribution.txt"

$outfile3 = "$WorkPath\NotUsedDGs-$(Get-Date -Format 'yyyyMMddmmss')_Security.txt"

$Mailboxservers = Get-MailBoxServer | % { "http://$($_.Name).$($DNS_Suffix)/PowerShell/" }

Write-Host Mailboxservers:`n$($Mailboxservers -join "`n")

$DGs = Get-DistributionGroup -OrganizationalUnit $OU

Write-Host "Distribution Group Count: $($DGs.count)"

$recipients1 = invoke-command -ConfigurationName Microsoft.Exchange -ConnectionUri $Mailboxservers -Authentication Kerberos -Script {Get-MessageTrackingLog -EventId "EXPAND" -ResultSize Unlimited} | Select -ExpandProperty RelatedRecipientAddress | Sort -Unique

#$recipients1.count

$NotUsedDGs = $DGs | Where {$recipients1 -notcontains "$($_.PrimarySmtpAddress.Local)@$($_.PrimarySmtpAddress.Domain)"}

Write-Host "Not used Distribution Group Count: $($NotUsedDGs.count)"

$NotUsedDGs | Select Name,DisplayName,GroupType,PrimarySmtpAddress | Export-CSV -Path $outfile1 -Encoding unicode -NoTypeInformation -Delimiter "`t"

$NotUsedDGs | where RecipientType -eq "MailUniversalDistributionGroup" | Select Name,DisplayName,PrimarySmtpAddress | Export-CSV -Path $outfile2 -Encoding unicode -NoTypeInformation -Delimiter "`t"

$NotUsedDGs | where RecipientType -eq "MailUniversalSecurityGroup" | Select Name,DisplayName,PrimarySmtpAddress | Export-CSV -Path $outfile3 -Encoding unicode -NoTypeInformation -Delimiter "`t"

#$NotUsedDGs | % { Set-DistributionGroup -Identity $_ -ModerationEnabled:$True -ModeratedBy user1,user2 }

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

Также перед удалением почтовых групп надо учесть, что они могут быть «зашиты» в каких-то сервисах для рассылки уведомлений. В этом случае нужно уведомить администраторов этих систем, чтобы они удалили эти рассылки.

Реклама

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Connecting to %s

%d такие блоггеры, как: