Почтовые Контакты Exchange 2010 получают присвоенные внутренние адреса SMTP политикой получателя

sestatus скажет Вам, если SELinux будет включен, а также несколько других характеристик.

3
задан 7 November 2012 в 21:59
4 ответа

Я использовал Powershell, чтобы отключить обновление адреса электронной почты из политики получателя:

Get-MailContact -OrganizationalUnit "domain.local/OU" | set-mailcontact -emailaddresspolicyenabled $false

Затем я использовал ADModify.net, чтобы удалить вторичные SMTP-адреса, назначенные контактам. Это сработало как шарм.

2
ответ дан 3 December 2019 в 06:38

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

... или создать новый только для контактов.

Чтобы очистить беспорядок, PowerShell есть для вас, если вам нужно сделать массовые изменения.

0
ответ дан 3 December 2019 в 06:38

Была та же проблема (немного поздно), поэтому я взял ваш "сценарий" и обновил его. Вам необходимо отключить политику адресов электронной почты, которая будет применяться к контактам в Exchange, и это частично решит проблему.

1) Расширьте локальную версию Microsoft Exchange 2) Разверните конфигурацию организации 3) Выберите Hub Transport и перейдите на вкладку Политики адресов электронной почты. 4) Отредактируйте каждого, оставив Пользователи с внешними адресами электронной почты без флажка и Контакты с внешними адресами электронной почты .

enter image description here

Это частично решит проблему, поскольку политика по умолчанию не может быть отключена, поэтому я все равно добавил адреса электронной почты domain.local по умолчанию к новым контактам.

Итак, я написал сценарий, основанный на том, что предоставлен в вопрос (тот, о котором идет речь, имел некоторые ошибки, когда было назначено несколько адресов из одного домена, и это создавало много шума), который удалит все адреса электронной почты, которые не являются внешними, а также гарантирует, что старые контакты не получат политики повторно применен.

####
# Input variables
####
$domains = @("*@domain.com","*@domain.pl","*@evotec.pl", "*@domain.local")
$ou = "evotec.local"

####
# Removing internal domains from contacts
####
$domains | foreach { 
$domain = $_;
write-host "Preparing for removal of addresses with domain name:" $domain 
$Contacts = Get-MailContact -OrganizationalUnit $ou -Filter {
                EmailAddresses -like $domain -and name -notlike "ExchangeUM*"
            } -ResultSize unlimited -IgnoreDefaultScope
$Contacts | foreach {       
    $contact = $_; 
    $email = $contact.emailaddresses; 
    #write-host "1. " $contact
    #write-host "2. " $contact.name
    #write-host "3. " $email
    #write-host "4. " $contact.identity 
    $email | foreach {
        if ($_.smtpaddress -like $domain) 
            {
                $address = $_.smtpaddress; 
                write-host "[*] Removing address" $address "from Contact" $contact.name; 
                Set-Mailcontact -Identity $contact.identity -EmailAddresses @{Remove=$address}; 

            }

    }
}
}
####
# Setting up email address policy to disabled for all contacts
####
write-host "Preparing all contacts for disabling email address policy"
$Contacts = Get-MailContact -OrganizationalUnit $ou -Filter {
                EmailAddresses -like $domain -and name -notlike "ExchangeUM*"
            } -ResultSize unlimited -IgnoreDefaultScope | Where {$_.EmailAddressPolicyEnabled  -eq $true}
$Contacts | foreach {
    $contact = $_; 
    write-host "[*] Setting up email address policy to disabled for" $contact.name
    $contact | set-mailcontact -emailaddresspolicyenabled $false
    }

Последний шаг - настроить его как планировщик заданий, поскольку новые контакты будут получать нередактируемую (по крайней мере, поддерживаемым способом) политику по умолчанию. Эта установка на сервере Exchange будет работать нормально. Обязательно запустите его с правильными разрешениями.

C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe -command ". 'C: \ Program Files \ Microsoft \ Exchange Server \ V14 \ bin \ RemoteExchange.ps1'; Connect-ExchangeServer -auto; C: \ ExchangeScript \ RemoveLGBSEmailsFromContacts.ps1 "

1
ответ дан 3 December 2019 в 06:38

Get-MailContact | Set-MailContact -EmailAddressPolicyEnabled: $ false

Это должно помочь ВСЕМ почтовым контактам!

0
ответ дан 3 December 2019 в 06:38

Теги

Похожие вопросы