共用方式為


在命令介面中使用 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 會執行下列工作:

  1. 建立本機移動要求。

  2. 等候信箱移動完成。

  3. 完成後清除移動要求。

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 參數需要下列項目:

  • 使用下列語法: @{"<SourceDatabase>"="<TargetDatabase>"}

  • SourceDatabase 名稱必須符合如 Get-Mailbox 指令程式所報告的資料庫名稱。

  • 您可以包含多個資料庫對應。使用分號 (;) 來分隔多個對應,例如,@{"DB1"="DBA";"DB2"="DBB"}

注意事項附註:
您不可以將此參數與 TargetDatabase 參數一起使用。如果您要以管線傳送命令,且使用者符合 Get-Mailbox 指令程式中的識別碼,但不符合 DatabaseMap 指令程式中的來源資料庫,則會略過該使用者的信箱。

Identity

必要

Identity 參數指定您要移動之信箱的識別碼。此參數接受下列值:

  • ADObjectID

  • 別名

  • 辨別名稱 (DN)

  • 網域\帳戶

  • GUID

  • LegacyExchangeDN

  • SmtpAddress

  • 使用者主要名稱 (UPN)

注意事項附註:
您可以使用 Get-Mailbox 指令程式以管線傳送 Identity 參數。

TargetDatabase

必要

TargetDatabase 參數指定信箱移動目的地的資料庫識別碼。此參數接受下列值:

  • GUID

  • 辨別名稱 (DN)

  • 伺服器\資料庫名稱

  • 資料庫名稱

注意事項附註:
您不可以將此參數與 DatabaseMap 參數一起使用。

AutoSuspend

選用

AutoSuspend 參數指定是否要在移動要求到達 CompletionInProgress 狀態之前將其暫停。移動暫停後,其狀態為 AutoSuspended。如果您使用此參數,則必須使用 Resume-MoveRequest 指令程式來完成移動。

BadItemLimit

選用

BadItemLimit 參數會指定信箱中的移動要求遇到損毀情形時,要略過之錯誤項目的數目。如果不要略過錯誤項目,請使用值 0。使用值 -1 可略過不限數目的錯誤項目。此參數的有效輸入範圍是 -12,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 指令程式。

範例

範例 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 指令程式來完成移動。

BadItemLimit

選用

BadItemLimit 參數會指定信箱中的移動要求遇到損毀情形時,要略過之錯誤項目的數目。如果不要略過錯誤項目,請使用值 0。使用值 -1 可略過不限數目的錯誤項目。此參數的有效的輸入範圍是 -12,147,483,647。預設值為 0。建議您保留預設值 0,只在移動要求失敗時才變更 BadItemLimit 參數值。

DatabaseMap

選用

DatabaseMap 參數指定移動來源和目的資料庫之間的對應。如果您是使用管線方法來識別要移動到的信箱,則使用此參數。DatabaseMap 參數需要下列項目:

  • 使用下列語法: @{"<SourceDatabase>"="<TargetDatabase>"}

  • SourceDatabase 名稱必須符合如 Get-Mailbox 指令程式所報告的資料庫名稱。

  • 您可以包含多個資料庫對應。使用分號 (;) 來分隔多個對應,例如,@{"DB1"="DBA";"DB2"="DBB"}

注意事項附註:
您不可以將此參數與 TargetDatabase 參數一起使用。如果您要以管線傳送命令,且使用者符合 Get-Mailbox 指令程式中的識別碼,但不符合 DatabaseMap 指令程式中的來源資料庫,則會略過該使用者的信箱。

DomainController

選用

DomainController 參數會指定將此組態變更寫入至 Active Directory 之網域控制站的完整網域名稱 (FQDN)。

PollInterval

選用

PollInterval 參數指定在檢查移動要求是否完成之前等候的時間量 (以秒為單位)。例如,如果 PollInterval 設為 180,則 MoveMailbox.ps1 指令碼會每隔 3 分鐘檢查移動要求狀態,以查看移動狀態是否為 [已完成]。預設時間為 10 秒。

StartBatchSize

選用

StartBatchSize 參數指定為負載平衡目的而啟動信箱移動的頻率。此參數只適用於一次移動多個信箱時。例如,如果此參數設為 10,且您要移動 15 個信箱,則當指令碼看到有 10 個信箱移至相同的目標資料庫時,便會叫用 New-MoveRequest 指令程式。

TargetDatabase

選用

TargetDatabase 參數指定信箱移動目的地的資料庫識別碼。此參數接受下列值:

  • GUID

  • 辨別名稱 (DN)

  • 伺服器\資料庫名稱

  • 資料庫名稱

注意事項附註:
您不可以將此參數與 DatabaseMap 參數一起使用。

範例

範例 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. 著作權所有,並保留一切權利。