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가 있습니다. 중복 된 MEPFs를 찾아서 제거 합니다. 중복 된 MEPFs를 찾으려면 온-프레미스에서 다음 cmdlet을 실행 합니다.

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

    예시:

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