셸의 Prepare-MoveRequest.ps1 스크립트를 사용하여 포리스트 간 이동을 위한 사서함 준비
적용 대상: Exchange Server 2013
요약: Exchange 관리 셸의 Prepare-MoveRequest.ps1 스크립트를 사용하여 Exchange 2013에서 포리스트 간 사서함 이동 및 마이그레이션을 관리하는 방법을 알아봅니다.
Microsoft Exchange 2013은 New-MoveRequest 및 New-MigrationBatch cmdlet을 사용한 사서함 이동 및 마이그레이션을 지원합니다. EAC(Exchange 관리 센터)를 통해 사서함을 이동할 수도 있습니다. Exchange 2010 또는 Exchange 2013 사서함을 원본 Exchange 포리스트에서 대상 Exchange 2013 포리스트로 이동할 수 있습니다.
New-MoveRequest 및 New-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을 참조하십시오.
참고
이 스크립트를 호출할 때 로컬 포리스트와 원격 포리스트에 대해 서로 다른 두 가지 자격 증명을 사용해야 합니다.
다음 명령을 실행하여 로컬 포리스트와 원격 포리스트 자격 증명을 가져옵니다.
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential
다음 명령을 실행하여 자격 증명 정보를 Prepare-MoveRequest.ps1 스크립트의 LocalForestCredential 및 RemoteForestCredential 매개 변수로 전달합니다.
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는 다음 중 하나일 수 있습니다.
|
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 스크립트 사용 방법 예가 몇 가지 들어 있습니다.
예: 메일 사용이 가능한 연결된 단일 사용자
원격 포리스트와 로컬 포리스트 간의 포리스트 신뢰 관계가 있을 때 이 예제는 로컬 포리스트에 연결된 메일 사용이 가능한 단일 사용자를 프로비전합니다.
다음 명령을 실행하여 로컬 포리스트와 원격 포리스트 자격 증명을 가져옵니다.
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential
다음 명령을 실행하여 자격 증명 정보를 Prepare-MoveRequest.ps1 스크립트의 LocalForestCredential 및 RemoteForestCredential 매개 변수로 전달합니다.
Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser
예: 파이프라이닝
사서함 ID 목록을 제공하면 이 예는 파이프라이닝을 지원합니다.
다음 명령을 실행합니다.
$UserCredentials = Get-Credential
다음 명령을 실행하여 자격 증명 정보를 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 파일을 호출하여 메일 사용이 가능한 대상 사용자를 대량으로 만듭니다.
다음 명령을 실행하여 원격 포리스트 자격 증명을 가져옵니다.
$UserCredentials = Get-Credential
다음 명령을 실행하여 자격 증명 정보를 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 속성에 복사합니다.