Exchange 관리 셸을 사용 하 여 크로스 포리스트 이동에 대 한 사서함을 준비
Exchange Server Exchange Management Shell New-MoveRequest 및 New-MigrationBatch cmdlet을 사용하여 사서함 이동 및 마이그레이션을 지원합니다. EAC(Exchange 관리 센터)에서 사서함을 이동할 수도 있습니다.
Exchange 2016에서는 Exchange 2010, Exchange 2013 또는 Exchange 2016 사서함을 원본 Exchange 포리스트에서 대상 Exchange 2016 포리스트로 이동할 수 있습니다.
Exchange 2019에서는 Exchange 2013, Exchange 2016 또는 Exchange 2019 사서함을 원본 Exchange 포리스트에서 대상 Exchange 2019 포리스트로 이동할 수 있습니다.
New-MoveRequest 및 New-MigrationBatch cmdlet을 실행하려면 메일 사용자가 대상 Exchange 포리스트에 존재해야 하며 필요한 Active Directory 특성의 최소 집합을 갖고 있어야 합니다.
이 항목에 설명된 샘플 Exchange PowerShell 스크립트는 Exchange 원본 포리스트의 사서함 사용자를 메일 사용자(메일 사용 가능 사용자라고도 함)로 Exchange 대상 포리스트로 동기화하여 이 작업을 지원합니다. 스크립트는 원본 포리스트에 있는 사서함 사용자의 Active Directory 특성을 대상 포리스트에 복사한 다음 Update-Recipient cmdlet을 사용하여 대상 개체를 메일 사용자로 전환합니다.
스크립트 사용 및 작성에 대한 자세한 내용은 스크립트 정보를 참조하세요. 포리스트 간 이동 준비에 대한 자세한 내용은 크로스 포리스트 이동 요청에 대 한 사서함을 준비를 참조하십시오.
원격 이동 요청과 관련된 다른 관리 작업을 찾고 있나요? Exchange Server 온-프레미스 사서함 이동 관리를 확인하세요.
시작하기 전에 알아야 할 사항은 무엇인가요?
%ExchangeInstallPath%Scripts에서 Prepare-MoveRequest.ps1 스크립트를 찾습니다. 기본적으로 %ExchangeInstallPath%는 C:\Program Files\Microsoft\Exchange Server\V15\입니다(후행 '\').
이 샘플 스크립트를 실행하려면 다음이 필요합니다.
Exchange 원본 포리스트(사서함이 현재 있는 위치)입니다.
Exchange 2016 대상 포리스트의 경우 원본 사서함은 Exchange 2010, Exchange 2013 또는 Exchange 2016에 있을 수 있습니다.
Exchange 2019 대상 포리스트의 경우 원본 사서함은 Exchange 2013, Exchange 2016 또는 Exchange 2019에 있을 수 있습니다.
Exchange 2016 또는 Exchange 2019가 설치된 대상 포리스트(사서함이 이동되는 위치).
팁
문제가 있습니까? Exchange Server, Exchange Online 또는 Exchange Online Protection. 무슨 작업을 하고 싶으십니까?
Prepare-MoveRequest.ps1 스크립트를 사용하여 사서함의 크로스 포리스트 이동 준비
대상 Exchange 2016 또는 Exchange 2019 포리스트의 사서함 서버에서 Exchange 관리 셸에서 스크립트를 실행합니다. 이 스크립트는 원본 포리스트에서 사서함 특성을 복사합니다.
원격 포리스트 도메인 컨트롤러에 대해 특정 인증 자격 증명을 할당하려면 먼저 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
스크립트의 매개 변수 집합
다음 표에서는 스크립트의 매개 변수 집합에 대해 설명합니다.
매개 변수 | 필수 | 설명 |
---|---|---|
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 스크립트 사용 방법 예가 몇 가지 들어 있습니다.
예: 단일 연결된 메일 사용자
이 예제에서는 원격 포리스트와 로컬 포리스트 간에 포리스트 트러스트가 있는 경우 로컬 포리스트에 연결된 단일 메일 사용자를 프로비전합니다.
다음 명령을 실행하여 로컬 포리스트와 원격 포리스트 자격 증명을 가져옵니다.
$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만 해당)에 포함된 주소와 같은 경우 대상 개체는 복제본입니다.
스크립트를 실행하면 중복된 개체임을 사용자에게 알려줍니다.
대상 메일 사용 개체가 메일 사용자 또는 메일 연락처인 경우 GAL(포리스트 간 주소 목록) 동기화 배포에서 만들 가능성이 가장 높은 경우 UseLocalObject 매개 변수를 사용하여 스크립트를 다시 실행하여 사서함 마이그레이션에 대상 메일 사용 개체를 사용할 수 있습니다.
메일 사용자
대상 개체가 메일 사용자인 경우 스크립트는 원본 사서함 사용자의 다음 특성을 대상 메일 사용자에게 복사합니다.
msExchMailboxGUID
msExchArchiveGUID
msExchArchiveName
LinkedMailUser 매개 변수가 설정된 경우 스크립트는 source objectSidmasterAccountSid / 특성을 복사합니다.
메일 연락처
대상 개체가 메일 연락처인 경우 스크립트는 기존 연락처를 삭제하고 모든 특성을 새 메일 사용자에게 복사합니다. 또한 스크립트는 원본 사서함 사용자의 다음과 같은 특성을 복사합니다.
msExchMailboxGUID
msExchArchiveGUID
msExchArchiveName
sAMAccountName
userAccountControl (514로 설정, 에 해당
0x202, ACCOUNTDISABLE | NORMAL_ACCOUNT
)userPrincipalName
LinkedMailUser 매개 변수가 설정된 경우 스크립트는 source objectSidmasterAccountSid / 특성을 복사합니다.
LegacyExchangeDN 특성
대상 개체를 메일 사용자로 변환하기 위해 Update-Recipient cmdlet을 호출하면 대상 메일 사용자에 대한 새 LegacyExchangeDN 특성이 생성됩니다. 스크립트는 대상 메일 사용자의 LegacyExchangeDN 특성을 x500 주소로 원본 사서함 사용자의 proxyAddress 속성에 복사합니다.