次の方法で共有


PowerShell スクリプトを使用した場合のメールが有効なパブリック フォルダーの同期エラーのトラブルシューティング

現象

Sync-MailPublicFolders.ps1(Microsoft Exchange Server 2007 および 2010 ) または Sync-ModernMailPublicFolders.ps1(Microsoft Exchange Server 2013、2016、2019) を使用して、オンプレミスから Exchange Online Active Directory にメールが有効なパブリック フォルダー (MEPF) オブジェクトを同期しようとすると、スクリプトは次のいずれかのエラーで失敗します。

エラー 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.

原因

最初の問題は、MEPF と同じ名前のオブジェクトがExchange Onlineに存在するため発生します。 競合するオブジェクトはエラー自体で報告され、PowerShell の次のコマンドレットExchange Online使用して取得できます。

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'

2 つ目の問題は、Exchange Onlineに、エラーに記載されているプロキシ アドレスを持つオブジェクトが既に存在するためです。

解決方法

最初の問題を解決するには、次のコマンドレットを使用して、オンプレミスの MEPF の名前を変更します。

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

例:

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

注:

MEPF の名前を変更しても、メール アドレスや、関連付けられているパブリック フォルダーの実際の名前には影響しません。

2 つ目の問題を解決するには、次の手順に従います。

  1. 次のコマンドレットを使用して、同じプロキシ アドレスを持つオブジェクトを検索します。

    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*"}
    
  2. 返されたオブジェクトが MEPF でない場合は、保持しない場合はオブジェクトを削除します。

  3. 同じプロキシで返された MEPF オブジェクトのみが表示される場合、オンプレミスには重複する MEPF があります。 重複する MEPF を見つけて削除します。 重複する MEPF を見つけるには、オンプレミスで次のコマンドレットを実行します。

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

    例:

    Get-MailPublicFolder | ?{ $_.EmailAddresses -like "*hr*"}
    
  4. 複数のオブジェクトが返される場合は、1 つのオブジェクトが保持されていることを確認し、他のオブジェクトを削除します。