다음을 통해 공유


셸의 Prepare-MoveRequest.ps1 스크립트를 사용하여 포리스트 간 이동을 위한 사서함 준비

적용 대상: Exchange Server 2013

요약: Exchange 관리 셸의 Prepare-MoveRequest.ps1 스크립트를 사용하여 Exchange 2013에서 포리스트 간 사서함 이동 및 마이그레이션을 관리하는 방법을 알아봅니다.

Microsoft Exchange 2013은 New-MoveRequestNew-MigrationBatch cmdlet을 사용한 사서함 이동 및 마이그레이션을 지원합니다. EAC(Exchange 관리 센터)를 통해 사서함을 이동할 수도 있습니다. Exchange 2010 또는 Exchange 2013 사서함을 원본 Exchange 포리스트에서 대상 Exchange 2013 포리스트로 이동할 수 있습니다.

New-MoveRequestNew-MigrationBatch cmdlet을 실행하려면 메일 사용자가 대상 Exchange 포리스트에 존재해야 하며 필요한 Active Directory 특성의 최소 집합을 갖고 있어야 합니다.

이 항목에서 설명하는 Windows PowerShell 샘플 스크립트는 Exchange 2013 원본 포리스트의 사서함 사용자를 메일 사용이 가능한 사용자로 Exchange 2013 대상 포리스트와 동기화하여 이 작업을 지원합니다. 스크립트는 원본 포리스트에 속하는 사서함 사용자의 Active Directory 특성을 대상 포리스트로 복사한 후 Update-Recipient cmdlet을 사용하여 대상 개체를 메일 사용이 가능한 사용자로 전환합니다.

스크립트 사용 및 작성에 대한 자세한 내용은 Scripting with the Exchange Management Shell을 참조하십시오. 포리스트 간 이동 준비에 대한 자세한 내용은 크로스 포리스트 이동 요청에 대 한 사서함을 준비를 참조하십시오.

원격 이동 요청과 관련된 다른 관리 작업을 찾고 있나요? 온-프레미스 이동 관리를 확인하세요.

시작하기 전에 알아야 할 사항은 무엇인가요?

  • 다음 위치에서 스크립트를 찾습니다. %ExchangeInstallPath%Scripts

  • 이 샘플 스크립트를 실행하려면 다음이 필요합니다.

    • 사서함이 현재 있는 Exchange 원본 포리스트입니다. Exchange 2010 또는 Exchange 2013 사서함일 수 있습니다.

    • Exchange 2013이 설치되어 있으며 사서함을 이동할 대상 포리스트.

문제가 있습니까? Exchange 포럼에서 도움을 요청하세요. Exchange Server 포럼을 방문하세요.

Prepare-MoveRequest.ps1 스크립트를 사용하여 사서함의 크로스 포리스트 이동 준비

대상 Exchange 2013 포리스트에서 Exchange 2013을 실행하는 서버 역할에 있는 셸에서 스크립트를 실행합니다. 이 스크립트는 원본 포리스트에서 사서함 특성을 복사합니다.

원격 포리스트 도메인 컨트롤러에 대해 특정 인증 자격 증명을 할당하려면 먼저 Windows PowerShell Get-Credential cmdlet을 실행하고 사용자 입력을 임시 변수에 저장해야 합니다. Get-Credential cmdlet을 실행하는 경우 해당 cmdlet은 원격 포리스트 도메인 컨트롤러를 인증하는 동안 사용할 계정의 사용자 이름과 암호를 요청합니다. 그런 다음 Prepare-MoveRequest.ps1 스크립트에서 임시 변수를 사용할 수 있습니다. Get-Credential cmdlet에 대한 자세한 내용은 Get-Credential을 참조하십시오.

참고

이 스크립트를 호출할 때 로컬 포리스트와 원격 포리스트에 대해 서로 다른 두 가지 자격 증명을 사용해야 합니다.

  1. 다음 명령을 실행하여 로컬 포리스트와 원격 포리스트 자격 증명을 가져옵니다.

    $LocalCredentials = Get-Credential
    $RemoteCredentials = Get-Credential
    
  2. 다음 명령을 실행하여 자격 증명 정보를 Prepare-MoveRequest.ps1 스크립트의 LocalForestCredentialRemoteForestCredential 매개 변수로 전달합니다.

    Prepare-MoveRequest.ps1 -Identity JohnSmith@Fabrikan.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials
    

스크립트의 매개 변수 집합

다음 표에서는 스크립트의 매개 변수 집합에 대해 설명합니다.

Prepare-MoveRequest.ps1 스크립트의 매개 변수 집합

매개 변수 필수 설명
Identity 필수 Identity 매개 변수는 원본 포리스트에서 사서함을 고유하게 식별합니다. ID는 다음 중 하나일 수 있습니다.
  • CN(일반 이름)
  • 별칭
  • proxyAddress 속성
  • objectGuid 속성
  • DisplayName 속성
RemoteForestCredential 필수 RemoteForestCredential 매개 변수는 원본 포리스트 Active Directory에서 데이터를 복사할 수 있는 권한이 있는 관리자를 지정합니다.
RemoteForestDomainController 필수 RemoteForestDomainController 매개 변수는 사서함이 있는 원본 포리스트의 도메인 컨트롤러를 지정합니다.
DisableEmailAddressPolicy 선택 DisableEmailAddressPolicy 매개 변수는 대상 포리스트에서 MailUser 개체를 만들 때 EAP(전자 메일 주소 정책)를 사용하지 못하도록 할지 여부를 지정합니다.

이 매개 변수를 지정할 때 대상 포리스트의 EAP는 적용되지 않습니다.

참고: 이 매개 변수를 지정하면 MailUser 개체에 스탬프가 지정된 로컬 포리스트 도메인에 전자 메일 주소 매핑이 없습니다. 일반적으로 EAP에 의해 스탬프 처리가 됩니다.
LinkedMailUser 선택 LinkedMailUser 스위치는 원격 포리스트의 사서함 사용자를 위해 로컬 포리스트에서 연결된 MailUser를 만들지 여부를 지정합니다.

이 스위치가 제공되는 경우 스크립트는 원본 사서함에 연결된 대상 MailUser 개체를 만듭니다. 스위치가 생략되면 스크립트는 일반 대상 MailUser 개체를 만듭니다.
LocalForestCredential 선택 LocalForestCredential 매개 변수는 대상 포리스트 Active Directory에 데이터를 쓸 수 있는 권한이 있는 관리자를 지정합니다.

Active Directory 권한 문제를 방지하려면 이 매개 변수를 명시적으로 지정하는 것이 좋습니다.

원격 포리스트와 로컬 포리스트에 신뢰할 수 있는 관계가 구성된 경우 원격 사용자 계정에 로컬 포리스트에서 Active Directory를 수정할 수 있는 권한이 있더라도 원격 포리스트의 사용자 계정을 로컬 포리스트 자격 증명으로 사용하지 마세요.
LocalForestDomainController 옵션 LocalForestDomainController 매개 변수는 메일 사용이 가능한 사용자를 만들 대상 포리스트의 도메인 컨트롤러를 지정합니다.

임의의 도메인 컨트롤러를 선택하는 경우 로컬 포리스트에서 발생될 수 있는 도메인 컨트롤러 복제 지연 문제를 방지하려면 이 매개 변수를 지정하는 것이 좋습니다.
MailboxDeliveryDomain 선택 MailboxDeliveryDomain 매개 변수는 스크립트가 올바른 원본 사서함 사용자의 proxyAddress 속성을 대상 메일 사용이 가능한 사용자의 targetAddress 속성으로 선택할 수 있도록 원본 포리스트의 신뢰할 수 있는 도메인을 지정합니다.

기본적으로 원본 사서함 사용자의 기본 SMTP 주소는 대상 메일 사용이 가능한 사용자의 targetAddress 속성으로 설정됩니다.
OverWriteLocalObject 옵션 OverWriteLocalObject 매개 변수는 Active Directory 마이그레이션 도구에서 만든 사용자에 사용됩니다. 속성은 기존 메일 연락처에서 새로 만든 메일 사용자로 복사됩니다. 하지만 이 복사 이후 스크립트는 또한 원본 포리스트 사용자에서 새로 만든 메일 사용자로 해당 속성을 복사합니다.
TargetMailUserOU 선택 TargetMailuserOU 매개 변수는 대상 메일 사용이 가능한 사용자를 만들 OU(조직 구성 단위)를 지정합니다.
UseLocalObject 옵션 UseLocalObject 매개 변수는 스크립트가 로컬 포리스트에서 생성될 메일 사용이 가능한 사용자와 충돌하는 개체를 발견한 경우 기존의 로컬 개체를 필요한 대상 메일 사용이 가능한 사용자로 변환하도록 할지 여부를 지정합니다.

예제

이 섹션에는 Prepare-MoveRequest.ps1 스크립트 사용 방법 예가 몇 가지 들어 있습니다.

예: 메일 사용이 가능한 연결된 단일 사용자

원격 포리스트와 로컬 포리스트 간의 포리스트 신뢰 관계가 있을 때 이 예제는 로컬 포리스트에 연결된 메일 사용이 가능한 단일 사용자를 프로비전합니다.

  1. 다음 명령을 실행하여 로컬 포리스트와 원격 포리스트 자격 증명을 가져옵니다.

    $LocalCredentials = Get-Credential
    $RemoteCredentials = Get-Credential
    
  2. 다음 명령을 실행하여 자격 증명 정보를 Prepare-MoveRequest.ps1 스크립트의 LocalForestCredentialRemoteForestCredential 매개 변수로 전달합니다.

    Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser
    

예: 파이프라이닝

사서함 ID 목록을 제공하면 이 예는 파이프라이닝을 지원합니다.

  1. 다음 명령을 실행합니다.

    $UserCredentials = Get-Credential
    
  2. 다음 명령을 실행하여 자격 증명 정보를 Prepare-MoveRequest.ps1 스크립트의 RemoteForestCredential 매개 변수로 전달합니다.

    "IanP@Contoso.com","JoeAn@Contoso.com" | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials
    

예: .csv 파일을 사용하여 메일 사용 가능 사용자를 대량으로 만들기

원본 포리스트의 사서함 ID 목록을 포함하는 .csv 파일을 만든 후 이 파일의 내용을 스크립트로 파이프라이닝하여 메일 사용이 가능한 대상 사용자를 대량으로 만들 수 있습니다.

예를 들어 .csv 파일의 내용은 다음과 같을 수 있습니다.

Identity
Ian@contoso.com
John@contoso.com
Cindy@contoso.com

이 예에서는 .csv 파일을 호출하여 메일 사용이 가능한 대상 사용자를 대량으로 만듭니다.

  1. 다음 명령을 실행하여 원격 포리스트 자격 증명을 가져옵니다.

    $UserCredentials = Get-Credential
    
  2. 다음 명령을 실행하여 자격 증명 정보를 Prepare-MoveRequest.ps1 스크립트의 RemoteForestCredential 매개 변수로 전달합니다.

    Import-Csv Test.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials
    

대상 개체별 스크립트 동작

이 섹션에서는 대상 개체에 대한 몇 가지 시나리오와 관련된 스크립트 수행 방법에 대해 설명합니다.

대상 메일 사용이 가능한 개체 복제

스크립트가 원본 사서함 사용자에서 대상 메일 사용이 가능한 사용자를 만들려 할 때 중복된 로컬 메일 사용이 가능한 개체를 발견하면 다음 로직을 사용합니다.

  • 원본 사서함 사용자의 masterAccountSid 특성이 대상 개체의 objectSid 또는 masterAccountSid 특성과 일치하는 경우:
    • 스크립트는 메일 사용이 불가능한 개체를 메일 사용이 가능한 사용자로 변환하는 기능을 지원하지 않으므로 대상 개체가 메일을 사용할 수 없는 경우 오류가 반환됩니다.
    • 대상 개체가 메일을 사용할 수 있으면 대상 개체는 복제본입니다.
  • 원본 사서함 사용자의 proxyAddress 속성(smtp/x500만 해당)에 포함되는 주소가 대상 개체의 proxyAddress 속성(smtp/x500만 해당)에 포함된 주소와 같은 경우 대상 개체는 복제본입니다.

스크립트를 실행하면 중복된 개체임을 사용자에게 알려줍니다.

대상 메일 사용이 가능한 개체가 주로 크로스 포리스트(Identity Lifecycle Management 2007 서비스 팩 1 기반) GAL(전체 주소 목록) 동기화 배포에 의해 생성된 메일 사용이 가능한 사용자 또는 연락처인 경우 사용자는 UseLocalObject 매개 변수를 통해 스크립트를 다시 실행하여 사서함 마이그레이션을 위한 대상 메일 사용이 가능한 개체를 사용할 수 있습니다.

메일 사용이 가능한 사용자

대상 개체가 메일 사용이 가능한 사용자인 경우 스크립트는 원본 사서함 사용자의 다음 특성을 대상 메일 사용이 가능한 사용자로 복사합니다.

  • msExchMailboxGUID
  • msExchArchiveGUID
  • msExchArchiveName

LinkedMailUser 매개 변수가 설정된 경우 스크립트는 source objectSidmasterAccountSid/ 특성을 복사합니다.

메일 사용이 가능한 연락처

대상 개체가 메일 사용이 가능한 연락처인 경우 스크립트는 기존 연락처를 삭제하고 모든 특성을 새 메일 사용이 가능한 사용자로 복사합니다. 또한 스크립트는 원본 사서함 사용자의 다음과 같은 특성을 복사합니다.

  • msExchMailboxGUID
  • msExchArchiveGUID
  • msExchArchiveName
  • sAMAccountName
  • userAccountControl (514 //equivalent로 0x202, ACCOUNTDISABLE | NORMAL_ACCOUNT설정)
  • userPrincipalName

LinkedMailUser 매개 변수가 설정된 경우 스크립트는 source objectSidmasterAccountSid/ 특성을 복사합니다.

LegacyExchangeDN 특성

대상 개체를 메일 사용이 가능한 사용자로 변환하기 위한 Update-Recipient cmdlet이 호출되면 대상 메일 사용이 가능한 사용자에 대한 새 LegacyExchangeDN 특성이 생성됩니다. 스크립트는 대상 메일 사용이 가능한 사용자의 LegacyExchangeDN 특성을 x500 주소로서 원본 사서함 사용자의 proxyAddress 속성에 복사합니다.