PowerShell betiği kullanılırken posta etkin ortak klasör eşitleme hatalarını giderme

Belirtiler

Sync-MailPublicFolders.ps1(Microsoft Exchange Server 2007 ve 2010) veya Sync-ModernMailPublicFolders.ps1 (Microsoft Exchange Server 2013, 2016 ve 2019 Microsoft Exchange Server kullanarak posta etkin ortak klasör (MEPF) nesnelerini şirket içi ortamdan Exchange Online Active Directory'ye eşitlemeye çalışırken, betik aşağıdaki hatalardan biriyle başarısız olur:

Hata 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.

Hata her zaman betik Ayarla komutunu gerçekleştirirken oluşur.

Hata 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.

Nedenler

İlk sorun, Exchange Online'da MEPF ile aynı ada sahip bir nesne olması nedeniyle oluşur. Çakışan nesne hatanın kendisinde bildirilir ve Exchange Online PowerShell'de aşağıdaki cmdlet ile alınabilir:

Get-Recipient '<Distinguished Name reported in the error>'

Örneğin:

Get-Recipient 'CN=Marketing,contoso.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=APCPR04A003,DC=prod,DC=outlook,DC=com'

İkinci sorun, Exchange Online hatada belirtilen ara sunucu adresine sahip bir nesneye sahip olması nedeniyle oluşur.

Çözüm

İlk sorunu düzeltmek için aşağıdaki cmdlet'i kullanarak şirket içinde MEPF'nin adını değiştirin:

Get-MailPublicFolder <MEPF name> | Set-MailPublicFolder -Name <new name for MEPF>

Örneğin:

Get-MailPublicFolder \Marketing | Set-MailPublicFolder -Name Marketing_PF

Not

MEPF'nin adını değiştirmek, ilişkili olduğu ortak klasörün e-posta adresini veya gerçek adını etkilemez.

İkinci sorunu düzeltmek için şu adımları izleyin:

  1. Aşağıdaki cmdlet'i kullanarak aynı proxy adresine sahip nesneleri bulun:

    Get-Recipient |?{$_.EmailAddresses -like "<address mentioned in the error>"}
    

    Örneğin:

    Get-Recipient |?{$_.EmailAddresses -like "*X500:/O=BAT2/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDXX)/CN=RECIPIENTS/CN=E1DBD36E5BEF784A97A5CD66299952D8-00008991FDA8*"}
    
  2. Döndürülen nesne bir MEPF değilse, saklamak istemiyorsanız nesneyi kaldırın.

  3. Yalnızca aynı proxy ile döndürülen MEPF nesnesini görüyorsanız, şirket içinde yinelenen MEPF'ler vardır. Yinelenen MEDF'leri bulun ve kaldırın. Yinelenen MEDF'leri bulmak için şirket içinde aşağıdaki cmdlet'i çalıştırın:

    Get-MailPublicFolder | ?{ $_.EmailAddresses -like "<email of problem MEPF>"}
    

    Örneğin:

    Get-MailPublicFolder | ?{ $_.EmailAddresses -like "*hr*"}
    
  4. Birden çok nesne döndürülürse, tek bir nesnenin tutulduğundan emin olun ve diğer nesneleri kaldırın.