在命令介面中使用 MoveMailbox.ps1 指令碼移動信箱
適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3
上次修改主題的時間: 2015-03-09
MoveMailbox.ps1 指令碼與 Microsoft Exchange Server 2007 中的 Move-Mailbox 指令程式類似,可為移動信箱提供同步的管理經驗。預設情況下,指令碼會安裝在 C:\Program Files\Microsoft\Exchange Server\V14\Scripts。
附註: |
---|
這個指令碼只能用於本機移動。您無法將此指令碼用於遠端 (跨樹系) 移動。如需遠端信箱移動的詳細資訊,請參閱準備用於跨樹系移動要求的信箱。 |
MoveMailbox.ps1 會執行下列工作:
建立本機移動要求。
等候信箱移動完成。
完成後清除移動要求。
MoveMailbox.ps1 包括兩個參數集。第一個參數集可移動單一信箱,或者您可以將信箱以管線傳送到命令中。第二個參數集可移動位於指定資料庫上的所有信箱,或者您可以將資料庫物件以管線傳送到命令中,以移動位在這些信箱資料庫上的所有信箱。
附註: |
---|
命令介面不會自動載入指令碼。您必須在所有指令碼前面加上「.\」。例如,若要執行 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 參數需要下列項目:
|
||
Identity |
必要 |
Identity 參數指定您要移動之信箱的識別碼。此參數接受下列值:
|
||
TargetDatabase |
必要 |
TargetDatabase 參數指定信箱移動目的地的資料庫識別碼。此參數接受下列值:
|
||
AutoSuspend |
選用 |
AutoSuspend 參數指定是否要在移動要求到達 |
||
BadItemLimit |
選用 |
BadItemLimit 參數會指定信箱中的移動要求遇到損毀情形時,要略過之錯誤項目的數目。如果不要略過錯誤項目,請使用值 |
||
DomainController |
選用 |
DomainController 參數會指定將此組態變更寫入至 Active Directory 之網域控制站的完整網域名稱 (FQDN)。 |
||
PollInterval |
選用 |
PollInterval 參數指定在檢查移動要求是否完成之前等候的時間量 (以秒為單位)。例如,如果 PollInterval 設為 180,則 MoveMailbox.ps1 指令碼會每隔 3 分鐘檢查移動要求狀態,以查看移動狀態是否為 [已完成]。預設時間為 10 秒。 |
||
StartBatchSize |
選用 |
StartBatchSize 參數指定為負載平衡目的而啟動信箱移動的頻率。此參數只適用於一次移動多個信箱時。例如,如果此參數設為 |
範例
範例 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 參數指定要移動信箱的來源信箱資料庫。 此參數接受下列值:
|
||
AutoSuspend |
選用 |
AutoSuspend 參數指定是否要在移動要求到達 |
||
BadItemLimit |
選用 |
BadItemLimit 參數會指定信箱中的移動要求遇到損毀情形時,要略過之錯誤項目的數目。如果不要略過錯誤項目,請使用值 |
||
DatabaseMap |
選用 |
DatabaseMap 參數指定移動來源和目的資料庫之間的對應。如果您是使用管線方法來識別要移動到的信箱,則使用此參數。DatabaseMap 參數需要下列項目:
|
||
DomainController |
選用 |
DomainController 參數會指定將此組態變更寫入至 Active Directory 之網域控制站的完整網域名稱 (FQDN)。 |
||
PollInterval |
選用 |
PollInterval 參數指定在檢查移動要求是否完成之前等候的時間量 (以秒為單位)。例如,如果 PollInterval 設為 180,則 MoveMailbox.ps1 指令碼會每隔 3 分鐘檢查移動要求狀態,以查看移動狀態是否為 [已完成]。預設時間為 10 秒。 |
||
StartBatchSize |
選用 |
StartBatchSize 參數指定為負載平衡目的而啟動信箱移動的頻率。此參數只適用於一次移動多個信箱時。例如,如果此參數設為 |
||
TargetDatabase |
選用 |
TargetDatabase 參數指定信箱移動目的地的資料庫識別碼。此參數接受下列值:
|
範例
範例 1
此範例會將所有位在信箱資料庫 DB1 上的信箱移至資料庫 DB2。
.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2
範例 2
此範例會使用 Get-MailboxDatabase 指令程式來擷取信箱資料庫開頭為「DB1」的所有信箱資料庫物件,然後將結果以管線傳送到 MoveMailbox.ps1 指令碼。
Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}
© 2010 Microsoft Corporation. 著作權所有,並保留一切權利。