В Microsoft Exchange, основной способ назначение email адресов почтовым ящикам, это использование Email Address Policy (Политики адресов электронной почты). В политике адресов электронной почты, задается формат электронных адресов, который будет назначаться выбранной выборке почтовых ящиков. Однако, тут есть некоторая особенность, если удалить политику адресов, которая ранее назначила адреса электронной почты, то заданные политикой email адреса не удалятся. Если же изменить формат email адресов в Email address Policy, то заданные email адреса изменятся, то есть такое поведение можно наблюдать только при удалении (или изменении выборки в политике). Это не баг — это «by design».
В этом случае, удалить ранее назначенные email адреса можно только вручную. Однако, при большом количестве почтовых ящиков, использование ручного способа будет очень трудозатратно, в этом случае на помощь приходить PowerShell.
Например, если ранее через Email address Policy был назначен дополнительный почтовый домен, то его можно удалить следующим скриптом:
$mbxs = Get-Mailbox
foreach ($mbx in $mbxs)
{
$ListSourceEmailAddress = $mbx.EmailAddresses;
$ListTargetEmailAddress = $ListSourceEmailAddress
$Changes=0;
foreach ($EmailAddress in $ListSourceEmailAddress)
{
if ($EmailAddress.tostring() -match "Contoso.com")
{
$ListTargetEmailAddress -= $EmailAddress;
$Changes++;
}
}
if ($Changes)
{
Set-Mailbox -Identity $mbx -EmailAddresses $ListTargetEmailAddress
}
}
Где, вместо contoso.com, необходимо указать свой домен.