PowerShell을 사용하여 사서함 이동
PowerShell을 사용하여 EAC(Exchange 관리 Center) 외에도 사서함을 이동할 수 있습니다.
온-프레미스 사서함을 Exchange Online organization
PowerShell을 사용하여 온-프레미스 사서함을 Exchange Online 이동하려면 다음 단계를 수행합니다.
Exchange Online PowerShell에 연결: 관리자 권한으로 PowerShell을 시작하고 다음 명령을 실행하여 Exchange Online PowerShell에 연결합니다.
PS C:\> Connect-ExchangeOnline
마이그레이션 엔드포인트 원격 서버 URL 찾기: Get-MigrationEndpoint cmdlet을 사용하여 원격 서버 URL을 가져옵니다.
Get-MigrationEndpoint | Format-List Identity, RemoteServer
다음 출력이 나타납니다.
PS C:\> Get-MigrationEndpoint | Format-List Identity, RemoteServer Identity : Hybrid Migration Endpoint - EWS (Default Web Site) RemoteServer : <GUID>.resource.mailboxmigration.his.msappproxy.net
참고
이전 명령 구문 출력의 RemoteServer 값은 HCW(하이브리드 구성 마법사)를 실행하여 생성됩니다.
다음 부분에서 필요에 따라 RemoteServer 값을 복사합니다.
참고
이전 출력 명령 구문에 표시된 RemoteServer 값은 사용자가 하이브리드 토폴로지 페이지에서 Exchange 최신 하이브리드 토폴로지 사용을 선택할 때 생성됩니다.
PowerShell을 사용하여 기본 및 보관 사서함을 Exchange Online 이동하는 새 이동 요청 만들기
다음 세부 정보를 입력하여 기본 사서함 및 보관 사서함을 Exchange Online 이동하는 새 이동 요청을 만듭니다.
- ID: 사서함 이름 또는 전자 메일 주소입니다.
- RemoteHostName: 2단계에서 복사한 원격 서버입니다.
- TargetDeliveryDomain: Exchange Online organization 사서함에 사용되는 기본 SMTP 도메인입니다.
- RemoteCredential: 권한이 있는 온-프레미스 관리자 계정입니다.
명령을 실행한 후 자격 증명 로그인 요청이 표시됩니다.
New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)
온-프레미스 자격 증명의 암호를 입력합니다(RemoteCredential).
PowerShell을 사용하여 여러 사서함을 Exchange Online 이동
Users.csv 라는 CSV 파일을 만들고 디렉터리 C:\migration에 배치합니다.
CSV 파일을 열고 머리글 열 이름을 EmailAddress로 지정하고 Exchange Online 이동하려는 모든 사서함을 입력합니다.
다음 스크립트를 복사하고 처음 3줄을 변경합니다. 그런 다음 스크립트를 실행합니다.
$Mailboxes = Import-Csv "C:\Migration\Users.csv" $RemoteHostName = "mail.contoso.com" $TargetDeliveryDomain = "<domain>.mail.onmicrosoft.com" $OnPremCred = (Get-Credential) # Move mailboxes in CSV file to Exchange Online foreach ($Mailbox in $Mailboxes) { $params = @{ Identity = $mailbox.EmailAddress Remote = $true RemoteHostName = $RemoteHostName TargetDeliveryDomain = $TargetDeliveryDomain RemoteCredential = $OnPremCred } New-MoveRequest @params }
PowerShell을 사용하여 기본 사서함만 Exchange Online 이동
보관 사서함 위치가 Exchange Online 있고 기본 사서함 위치가 Exchange 온-프레미스에 있는 시나리오가 있으며 다음 명령을 실행합니다.
$Mailboxes = Import-Csv "C:\Migration\Users.csv" $RemoteHostName = "mail.contoso.com" $TargetDeliveryDomain = "<domain>.mail.onmicrosoft.com" $OnPremCred = (Get-Credential) # Move mailboxes in CSV file to Exchange Online foreach ($Mailbox in $Mailboxes) { $params = @{ Identity = $mailbox.EmailAddress Remote = $true RemoteHostName = $RemoteHostName TargetDeliveryDomain = $TargetDeliveryDomain RemoteCredential = $OnPremCred } New-MoveRequest @params }
그 결과 오류 메시지 다음에 표시되는 더 큰 명령 구문의 일부인 다음 오류 메시지가 표시됩니다.
You must specify the PrimaryOnly parameter Target user ‘XXXXXX’ already has an archive mailbox.
PS C:\> New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential) You must specify the PrimaryOnly parameter. Target user 'Maisha Lee' already has an archive mailbox. + CategoryInfo : NotSpecified: (:) [New-MoveRequest], MailboxReplicationPermanentException + FullyQualifiedErrorId : [Server=PAXP190MB1743,RequestId=3f8179c3-aa93-453f-9e14-d824968f34c4,TimeStamp=5/28/2022 7:19:13 AM] [FailureCategory=Cmdlet-MailboxReplicationPermanentException] FE8B9422,Microsoft.Exchange.Management. Migration.MailboxReplication.MoveRequest.NewModernMoveRequest + PSComputerName : outlook.office365.com
오류 메시지가 표시되면 다음 단계를 수행합니다.
-PrimaryOnly
기본 사서함을 Exchange Online만 이동하는 새 이동 요청을 만들 때 오류를 resolve 위해 이전 명령 구문에 매개 변수를 추가합니다.다음 세부 정보를 입력합니다.
- ID: 사서함 이름 또는 전자 메일 주소입니다.
- RemoteHostName: 2단계에서 복사한 원격 서버입니다.
- PrimaryOnly: 값을 비워 둡니다.
- TargetDeliveryDomain: Exchange Online organization 사서함에 사용되는 기본 SMTP 도메인입니다.
- RemoteCredential: 권한이 있는 온-프레미스 관리자 계정입니다.
새 이동 요청에 대한 명령을 실행한 후 다음 명령 구문과 같이 자격 증명 로그인 요청이 표시됩니다.
New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -PrimaryOnly -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)
온-프레미스 자격 증명의 암호를 입력합니다(RemoteCredential).
PowerShell을 사용하여 보관 사서함만 Exchange Online 이동
PS C:\> New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential) You must specify the PrimaryOnly parameter. Target user 'Maisha Lee' already has an archive mailbox. + CategoryInfo : NotSpecified: (:) [New-MoveRequest], MailboxReplicationPermanentException + FullyQualifiedErrorId : [Server=PAXP190MB1743,RequestId=3f8179c3-aa93-453f-9e14-d824968f34c4,TimeStamp=5/28/2022 7:19:13 AM] [FailureCategory=Cmdlet-MailboxReplicationPermanentException] FE8B9422,Microsoft.Exchange.Management. Migration.MailboxReplication.MoveRequest.NewModernMoveRequest + PSComputerName : outlook.office365.com
-
ArchiveOnly
이전 명령 구문에 매개 변수를 추가하여 보관 사서함을 Exchange Online만 이동하는 새 이동 요청을 만들 때 오류를 resolve. - 다음 세부 정보를 입력합니다.
- ID: 사서함 이름 또는 전자 메일 주소입니다.
- RemoteHostName: 2단계에서 복사한 원격 서버입니다.
- ArchiveOnly: 값을 비워 두세요.
- TargetDeliveryDomain: Exchange Online organization 사서함에 사용되는 기본 SMTP 도메인입니다.
- RemoteCredential: 권한이 있는 온-프레미스 관리자 계정입니다.
새 이동 요청에 대한 명령을 실행한 후 다음 명령 구문과 같이 자격 증명 로그인 요청이 표시됩니다.
New-MoveRequest -Identity "Maisha.Lee@contoso.com" -Remote -RemoteHostName "mail.contoso.com" -ArchiveOnly -TargetDeliveryDomain "<domain>.mail.onmicrosoft.com" -RemoteCredential (Get-Credential)
온-프레미스 자격 증명의 암호를 입력합니다(RemoteCredential).
-
사서함 이동 상태 가져오기
Get-MoveRequest cmdlet을 사용하여 사서함 이동 요청의 상태 가져옵니다.
Get-MoveRequest -Identity "Maisha.Lee@contoso.com" | Get-MoveRequestStatistics
다음 명령을 실행하여 모든 사서함 이동 요청을 가져옵니다.
Get-MoveRequest | Get-MoveRequestStatistics
출력은 다음 스크린샷과 같이 사서함 이동 상태 완료된 상태 표시합니다.
그렇지 않고 사서함 이동 요청을 완료할 수 없는 경우 이동 요청을 일시 중단하고 다시 시작할 수 있습니다.
Exchange Online 사서함을 온-프레미스 organization 이동
PowerShell을 사용하여 Exchange Online 사서함을 온-프레미스 organization 이동하려면 다음 단계를 수행합니다.
Exchange Online PowerShell에 연결: 관리자 권한으로 PowerShell을 시작하고 다음 명령을 실행하여 Exchange Online PowerShell에 연결합니다.
PS C:\> Connect-ExchangeOnline
참고
Exchange Online 사서함을 온-프레미스로 끌어온 것은 아닙니다. 실제로 Exchange Online 사서함을 온-프레미스로 푸시하고 있습니다. 따라서 Exchange Online 연결하고 Exchange Online PowerShell에서 명령을 실행해야 합니다.
마이그레이션 엔드포인트 원격 서버 URL 찾기: Get-MigrationEndpoint cmdlet을 사용하여 원격 서버 URL을 가져옵니다.
Get-MigrationEndpoint | Format-List Identity, RemoteServer
다음 출력이 나타납니다.
Identity : Hybrid Migration Endpoint - EWS (Default Web Site) RemoteServer : mail.contoso.com
참고
이전 명령 구문 출력의 RemoteServer 값은 HCW(하이브리드 구성 마법사)를 실행하여 생성됩니다.
다음 부분에서 필요에 따라 RemoteServer URL 값을 복사합니다.
PowerShell을 사용하여 Exchange Online 기본 및 보관 사서함을 이동하는 새 이동 요청 만들기
Exchange Online 기본 사서함 및 보관 사서함을 이동하는 새 이동 요청을 만드는 과정의 일부로 다음 세부 정보를 입력합니다.
- ID: 사서함 이름 또는 전자 메일 주소입니다.
- RemoteTargetDatabase: Exchange 온-프레미스 사서함 데이터베이스.
- RemoteHostName: 2단계에서 복사한 원격 서버입니다.
- TargetDeliveryDomain: Exchange Online organization 사서함에 사용되는 기본 SMTP 도메인입니다.
- RemoteCredential: 권한이 있는 온-프레미스 관리자 계정입니다.
새 이동 요청을 만들기 위해 실행할 명령은 다음과 같습니다.
New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential)
명령이 실행되면 다음 명령 구문과 같이 표시되는 자격 증명 로그인 요청에 대한 온-프레미스 자격 증명(RemoteCredential)의 암호를 입력합니다.
PS C:\> Get-Mailbox -Identity "Jordy.Twin@contoso.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential exoip\administrator) DisplayName Status TargetDatabase ----------- ------ -------------- Jordy Twin Queued
온-프레미스 자격 증명의 암호를 포함하는 이전 명령을 실행한 후 다음 오류가 발생할 수 있습니다.
- 사서함 GUID가 있는 받는 사람을 찾을 수 없습니다.
- 원본 및 대상 받는 사람의 보관 GUID가 일치하지 않음
PowerShell을 사용하여 Exchange Online 기본 사서함만 이동
기본 사서함 및 보관 사서함 위치가 Exchange Online 있고 기본 사서함만 이동하려는 경우 새 이동을 만들기 위해 실행하는 명령에 및
-ArchiveDomain
매개 변수를 추가하고-PrimaryOnly
명령 구문에서 다음 세부 정보를 입력합니다.- ID: 사서함 이름 또는 전자 메일 주소입니다.
- 아웃바운드: 값을 비워 두세요.
- RemoteTargetDatabase: Exchange 온-프레미스 사서함 데이터베이스.
- RemoteHostName: 2단계에서 복사한 원격 서버입니다.
- PrimaryOnly: 값을 비워 둡니다.
- ArchiveDomain: Exchange Online organization 사서함에 사용되는 기본 SMTP 도메인입니다.
- TargetDeliveryDomain: Exchange Online organization 사서함에 사용되는 기본 SMTP 도메인입니다.
- RemoteCredential: 권한이 있는 온-프레미스 관리자 계정입니다.
새 이동 요청을 만들기 위해 실행할 명령은 다음과 같습니다.
New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -PrimaryOnly -ArchiveDomain "<domain>.mail.onmicrosoft.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential)
명령을 실행하면 다음 명령 구문과 같이 자격 증명 로그인 요청이 표시됩니다.
PS C:\> Get-Mailbox -Identity "Jordy.Twin@contoso.com" | New-MoveRequest -OutBound -RemoteTargetDatabase "DB01" -RemoteHostName "mail.contoso.com" -PrimaryOnly -ArchiveDomain "<domain>.mail.onmicrosoft.com" -TargetDeliveryDomain "contoso.com" -RemoteCredential (Get-Credential exoip\administrator) DisplayName Status TargetDatabase ----------- ------ -------------- Jordy Twin Queued
온-프레미스 자격 증명의 암호를 입력합니다(RemoteCredential).
사서함 이동 상태 가져오기
Get-MoveRequest cmdlet을 사용하여 사서함 이동 요청의 상태 가져옵니다.
PS C:\> Get-MoveRequest -Identity "Jordy.Twin@contoso.com" | Get-MoveRequestStatistics | ft DisplayName,StatusDetail,TotalMailboxSize,TotalArchiveSize,PercentComplete DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete ----------- ------------ ---------------- ---------------- --------------- Jordy Twin Completed 231.6 MB (242,877,775 bytes) 0 B (0 bytes) 100
사서함 이동이 완료됩니다. 그렇지 않고 사서함 이동 요청을 완료할 수 없는 경우 이동 요청을 일시 중단하고 다시 시작할 수 있습니다.
완료된 마이그레이션된 일괄 처리를 제거하는 다음 단계를 구현하려면 완료된 마이그레이션 일괄 처리 제거를 참조하세요.