Устранение неполадок синхронизации общедоступных папок с поддержкой почты при использовании сценариев PowerShell
Симптомы
При попытке синхронизировать объекты общедоступных папок с поддержкой почты (MEPF) из локальной среды в Exchange Online Active Directory с помощью Sync-MailPublicFolders.ps1 (Microsoft Exchange Server 2007 и 2010) или Sync-ModernMailPublicFolders.ps1 (Microsoft Exchange Server 2013, 2016 и 2019) скрипт завершается сбоем с одной из следующих ошибок:
Ошибка 1.
Active Directory operation failed on PU1PR04A03DC006.APCPR04A003.prod.outlook.com. The object 'CN=Marketing,OU=contoso.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=APCPR04A003,DC=prod,DC=outlook,DC=com' already exists.
Ошибка всегда возникает, когда скрипт выполняет команду Set .
Ошибка 2.
The proxy address "X500:/O=BAT2/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=E1DBD36E5BEF784A97A5CD66292252D8-00008991FDA8" is already being used by the proxy addresses or LegacyExchangeDN of "HR". Please choose another proxy address.
Причины
Первая проблема возникает из-за того, что в Exchange Online есть объект с тем же именем, что и MEPF. Конфликтующий объект отображается в самой ошибке и может быть получен с помощью следующего командлета в Exchange Online PowerShell:
Get-Recipient '<Distinguished Name reported in the error>'
Например:
Get-Recipient 'CN=Marketing,contoso.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=APCPR04A003,DC=prod,DC=outlook,DC=com'
Вторая проблема возникает из-за того, что у Exchange Online уже есть объект с адресом прокси-сервера, указанным в ошибке.
Разрешение
Чтобы устранить первую проблему, измените имя MEPF в локальной среде с помощью следующего командлета:
Get-MailPublicFolder <MEPF name> | Set-MailPublicFolder -Name <new name for MEPF>
Например:
Get-MailPublicFolder \Marketing | Set-MailPublicFolder -Name Marketing_PF
Примечание.
Изменение имени MEPF не влияет на адрес электронной почты или фактическое имя общедоступной папки, с которым она связана.
Чтобы устранить вторую проблему, выполните следующие действия.
Узнайте объекты с одинаковым прокси-адресом с помощью следующего командлета:
Get-Recipient |?{$_.EmailAddresses -like "<address mentioned in the error>"}
Например:
Get-Recipient |?{$_.EmailAddresses -like "*X500:/O=BAT2/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDXX)/CN=RECIPIENTS/CN=E1DBD36E5BEF784A97A5CD66299952D8-00008991FDA8*"}
Если возвращенный объект не является MEPF, удалите объект, если вы не хотите его сохранить.
Если вы видите только объект MEPF, возвращенный с тем же прокси-сервером, в локальной среде имеются дублирующиеся MEPF. Найдите дублирующиеся MEPF и удалите их. Чтобы найти дубликаты MEPF, выполните следующий командлет в локальной среде:
Get-MailPublicFolder | ?{ $_.EmailAddresses -like "<email of problem MEPF>"}
Например:
Get-MailPublicFolder | ?{ $_.EmailAddresses -like "*hr*"}
Если возвращается несколько объектов, убедитесь, что один объект хранится, и удалите другие объекты.