셸에서 MoveMailbox.ps1 스크립트를 사용하여 사서함 이동

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2015-03-09

Microsoft Exchange Server 2007의 Move-Mailbox cmdlet과 유사하게, MoveMailbox.ps1 스크립트는 사서함 이동에 대한 동기식 관리를 제공합니다. 기본적으로 스크립트는 C:\Program Files\Microsoft\Exchange Server\V14\Scripts에 설치됩니다.

참고

이 스크립트는 로컬 이동에만 사용할 수 있고, 원격 (포리스트 간) 이동에는 사용할 수 없습니다. 원격 사서함 이동에 대한 자세한 내용은 크로스 포리스트 이동 요청을 위한 사서함 준비를 참조하십시오.

MoveMailbox.ps1은 다음 작업을 수행합니다.

  1. 로컬 이동 요청을 만듭니다.

  2. 사서함 이동이 완료될 때까지 대기합니다.

  3. 이동이 완료되면 이동 요청을 지웁니다.

MoveMailbox.ps1에는 두 개의 매개 변수 집합이 포함되어 있습니다. 첫 번째 매개 변수 집합은 단일 사서함을 이동합니다. 또는 사서함을 명령에 파이프라인할 수 있습니다. 두 번째 매개 변수 집합은 지정된 데이터베이스에서 호스트되는 모든 사서함을 이동합니다. 또는 데이터베이스 개체를 명령에 파이프라인하여 해당 사서함 데이터베이스에 상주하는 모든 사서함을 이동할 수 있습니다.

참고

셸은 스크립트를 자동으로 로드하지 않습니다. 모든 스크립트 앞에는 ".</STRONG>"가 와야 합니다. 예를 들어 MoveMailbox.ps1 스크립트를 실행하려면 .\MoveMailbox.ps1을 입력합니다.

스크립트 사용 및 작성에 대한 자세한 내용은 Exchange 관리 셸을 사용하여 스크립팅을 참조하십시오.

이동 요청과 관련된 다른 관리 작업에 대한 자세한 내용은 이동 요청 관리를 참조하십시오.

MoveMailbox.ps1을 사용하여 특정 사서함 이동

이 절차를 수행하려면 먼저 사용 권한을 할당 받아야 합니다. 필요한 사용 권한을 확인하려면 다음을 참조하십시오.사서함 사용 권한의 "사서함 이동" 항목

다음 매개 변수 구문 집합과 테이블에는 특정 사서함을 이동하는 데 사용할 수 있는 매개 변수가 나와 있습니다.

MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
매개 변수 필수 설명

DatabaseMap

필수

DatabaseMap 매개 변수는 사서함이 원래 있던 데이터베이스와 새로 이동하게 될 데이터베이스 간 맵을 지정합니다. 파이프라인 방법을 사용하여 이동할 사서함을 식별하는 경우 이 매개 변수를 사용합니다. DatabaseMap 매개 변수는 다음 조건을 충족해야 합니다.

  • @{"<SourceDatabase>"="<TargetDatabase>"} 구문을 사용합니다.

  • SourceDatabase 이름은 Get-Mailbox cmdlet에서 보고한 데이터베이스 이름과 일치해야 합니다.

  • 여러 데이터베이스 맵을 포함할 수 있습니다. 각각의 맵은 세미콜론(;)으로 구분합니다(예: @{"DB1"="DBA";"DB2"="DBB"}).

참고

이 매개 변수는 TargetDatabase 매개 변수와 함께 사용할 수 없습니다. 명령을 파이프하는 중 사용자가 Get-Mailbox cmdlet의 ID와는 일치하지만 DatabaseMap cmdlet의 원본 데이터베이스와는 일치하지 않는 경우, 해당 사용자의 사서함은 건너뜁니다.

Identity

필수

Identity 매개 변수는 이동할 사서함의 ID를 지정합니다. 이 매개 변수에는 다음 값이 허용됩니다.

  • ADObjectID

  • 별칭

  • DN(고유 이름)

  • 도메인\계정

  • GUID

  • LegacyExchangeDN

  • SmtpAddress

  • UPN(사용자 계정 이름)

참고

Get-Mailbox cmdlet을 사용하여 Identity 매개 변수를 파이프라인할 수 있습니다.

TargetDatabase

필수

TargetDatabase 매개 변수는 사서함을 이동할 대상 데이터베이스의 ID를 지정합니다. 이 매개 변수에는 다음 값이 허용됩니다.

  • GUID

  • DN(고유 이름)

  • 서버\데이터베이스 이름

  • 데이터베이스 이름

참고

이 매개 변수는 DatabaseMap 매개 변수와 함께 사용할 수 없습니다.

AutoSuspend

선택

AutoSuspend 스위치는 이동 요청이 CompletionInProgress 상태가 되기 전에 일시 중단할지 여부를 지정합니다. 일시 중단된 이동은 AutoSuspended 상태가 됩니다. 이 매개 변수를 사용하는 경우 Resume-MoveRequest cmdlet을 사용하여 이동을 완료해야 합니다.

BadItemLimit

선택

BadItemLimit 매개 변수는 이동 요청에서 사서함이 손상된 것을 발견할 경우 건너뛸 잘못된 항목 수를 지정합니다. 잘못된 항목을 건너뛰지 않으려면 값 0을 사용합니다. 잘못된 항목을 개수 제한 없이 무시하려면 값 -1을 사용합니다. 이 매개 변수에는 -1에서 2,147,483,647까지의 값을 입력할 수 있습니다. 기본값은 0입니다. 기본값 0을 유지하고, 이동 요청이 실패한 경우에만 BadItemLimit 매개 변수 값을 변경하는 것이 좋습니다.

DomainController

선택

DomainController 매개 변수는 해당 구성 변경을 Active Directory에 기록하는 도메인 컨트롤러의 FQDN(정규화된 도메인 이름)을 지정합니다.

PollInterval

선택

PollInterval 매개 변수는 이동 요청이 완료되었는지 확인하기 전까지 대기할 시간을 초 단위로 지정합니다. 예를 들어 PollInterval을 180으로 지정하면 MoveMailbox.ps1 스크립트는 이동이 완료 상태가 되었는지 알아보기 위해 3분마다 이동 요청을 확인합니다. 기본 시간은 10초입니다.

StartBatchSize

선택

StartBatchSize 매개 변수는 부하 분산의 목적으로 얼마나 자주 사서함 이동을 시작할지 지정합니다. 이 매개 변수는 여러 사서함을 한번에 이동할 때만 사용할 수 있습니다. 예를 들어 이 매개 변수를 10으로 설정하고 15개의 사서함을 이동하는 경우, 같은 대상 데이터베이스로 10개의 사서함이 이동 중인 것을 스크립트가 인식하고 New-MoveRequest cmdlet을 호출합니다.

예 1

다음은 "ay"로 시작하는 사서함을 이동하는 예입니다. 이들 사서함이 사서함 데이터베이스 DB1에 상주하는 경우 DatabaseMap 매개 변수는 해당 사서함을 사서함 데이터베이스 DBA로 이동합니다. 이들 사서함이 DB2에 상주하는 경우에는 사서함 데이터베이스 DBB로 이동됩니다.

Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}

예 2

다음은 Tony Smith의 사서함을 DB2로 이동하는 예입니다.

.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"

MoveMailbox.ps1을 사용하여 특정 데이터베이스에 상주하는 사서함 이동

이 절차를 수행하려면 먼저 사용 권한을 할당 받아야 합니다. 필요한 사용 권한을 확인하려면 다음을 참조하십시오.사서함 사용 권한의 "사서함 이동" 항목

다음 매개 변수 구문 집합과 테이블에는 데이터베이스에 상주하는 사서함을 이동하는 매개 변수가 나와 있습니다.

MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]

매개 변수

필수

설명

MailboxDatabase

필수

MailboxDatabase 매개 변수는 이동할 사서함이 있는 사서함 데이터베이스를 지정합니다.

이 매개 변수에는 다음 값이 허용됩니다.

  • GUID

  • DN(고유 이름)

  • 서버\데이터베이스 이름

  • 데이터베이스 이름

참고

이 매개 변수는 DatabaseMap 매개 변수와 함께 사용할 수 없습니다.

AutoSuspend

선택

AutoSuspend 스위치는 이동 요청이 CompletionInProgress 상태가 되기 전에 일시 중단할지 여부를 지정합니다. 일시 중단된 이동은 AutoSuspended 상태가 됩니다. 이 매개 변수를 사용하는 경우 Resume-MoveRequest cmdlet을 사용하여 이동을 완료해야 합니다.

BadItemLimit

선택

BadItemLimit 매개 변수는 이동 요청에서 사서함이 손상된 것을 발견할 경우 건너뛸 잘못된 항목 수를 지정합니다. 잘못된 항목을 건너뛰지 않으려면 값 0을 사용합니다. 잘못된 항목을 개수 제한 없이 무시하려면 값 -1을 사용합니다. 이 매개 변수에 대한 유효한 입력 범위는 -1에서 2,147,483,647까지입니다. 기본값은 0입니다. 기본값 0을 유지하고, 이동 요청이 실패한 경우에만 BadItemLimit 매개 변수 값을 변경하는 것이 좋습니다.

DatabaseMap

선택

DatabaseMap 매개 변수는 사서함이 원래 있던 데이터베이스와 새로 이동하게 될 데이터베이스 간 맵을 지정합니다. 파이프라인 방법을 사용하여 이동할 사서함을 식별하는 경우 이 매개 변수를 사용합니다. DatabaseMap 매개 변수는 다음 조건을 충족해야 합니다.

  • 다음 구문을 사용합니다. @{"<SourceDatabase>"="<TargetDatabase>"}

  • SourceDatabase 이름은 Get-Mailbox cmdlet에서 보고한 데이터베이스 이름과 일치해야 합니다.

  • 여러 데이터베이스 맵을 포함할 수 있습니다. 각각의 맵은 세미콜론(;)으로 구분합니다(예: @{"DB1"="DBA";"DB2"="DBB"}).

참고

이 매개 변수는 TargetDatabase 매개 변수와 함께 사용할 수 없습니다. 명령을 파이프하는 중 사용자가 Get-Mailbox cmdlet의 ID와는 일치하지만 DatabaseMap cmdlet의 원본 데이터베이스와는 일치하지 않는 경우, 해당 사용자의 사서함은 건너뜁니다.

DomainController

선택

DomainController 매개 변수는 해당 구성 변경을 Active Directory에 기록하는 도메인 컨트롤러의 FQDN(정규화된 도메인 이름)을 지정합니다.

PollInterval

선택

PollInterval 매개 변수는 이동 요청이 완료되었는지 확인하기 전까지 대기할 시간을 초 단위로 지정합니다. 예를 들어 PollInterval을 180으로 지정하면 MoveMailbox.ps1 스크립트는 이동이 완료 상태가 되었는지 알아보기 위해 3분마다 이동 요청을 확인합니다. 기본 시간은 10초입니다.

StartBatchSize

선택

StartBatchSize 매개 변수는 부하 분산의 목적으로 얼마나 자주 사서함 이동을 시작할지 지정합니다. 이 매개 변수는 여러 사서함을 한번에 이동할 때만 사용할 수 있습니다. 예를 들어 이 매개 변수를 10으로 설정하고 15개의 사서함을 이동하는 경우, 같은 대상 데이터베이스로 10개의 사서함이 이동 중인 것을 스크립트가 인식하고 New-MoveRequest cmdlet을 호출합니다.

TargetDatabase

선택

TargetDatabase 매개 변수는 사서함을 이동할 대상 데이터베이스의 ID를 지정합니다. 이 매개 변수에는 다음 값이 허용됩니다.

  • GUID

  • DN(고유 이름)

  • 서버\데이터베이스 이름

  • 데이터베이스 이름

참고

이 매개 변수는 DatabaseMap 매개 변수와 함께 사용할 수 없습니다.

예 1

다음은 사서함 데이터베이스 DB1에 상주하는 모든 사서함을 데이터베이스 DB2로 이동하는 예입니다.

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

예 2

다음은 Get-MailboxDatabase cmdlet을 사용하여 사서함 데이터베이스 이름이 "DB1"로 시작하는 모든 사서함 데이터베이스를 검색한 다음, MoveMailbox.ps1 스크립트에 결과를 파이프라인하는 예입니다.

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}

 © 2010 Microsoft Corporation. 모든 권리 보유.