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.

원인

첫 번째 문제는 EXCHANGE ONLINE MEPF와 이름이 같은 개체가 있기 때문에 발생합니다. 충돌하는 개체는 오류 자체에 보고되며 Exchange Online PowerShell에서 다음 cmdlet을 사용하여 검색할 수 있습니다.

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 오류에 언급된 프록시 주소가 있는 개체가 이미 있기 때문에 발생합니다.

해결 방법

첫 번째 문제를 해결하려면 다음 cmdlet을 사용하여 온-프레미스에서 MEPF의 이름을 변경합니다.

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

예를 들면 다음과 같습니다.

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

참고

MEPF 이름을 변경해도 연결된 공용 폴더의 이메일 주소 또는 실제 이름에는 영향을 주지 않습니다.

두 번째 문제를 해결하려면 다음 단계를 수행합니다.

  1. 다음 cmdlet을 사용하여 프록시 주소가 동일한 개체를 찾습니다.

    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를 찾으려면 온-프레미스에서 다음 cmdlet을 실행합니다.

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

    예를 들면 다음과 같습니다.

    Get-MailPublicFolder | ?{ $_.EmailAddresses -like "*hr*"}
    
  4. 여러 개체가 반환되는 경우 단일 개체가 유지되는지 확인하고 다른 개체를 제거합니다.