管理 Exchange Server 中的內部部署信箱移動
在 Exchange Server 中,使用者的主要信箱和封存信箱可以位於不同的資料庫上。 移動要求是將信箱從一個信箱資料庫移至另一個信箱資料庫的程式。 本機 移動要求 是在單一 Active Directory 樹系 (內發生的信箱移動,而不是在 Active Directory 樹系) 之間發生的遠端移動要求。 您可以使用本主題中的程式,在內部部署中要求主要信箱、封存信箱或兩者的本機移動要求。 您可以使用移動要求功能,將主要信箱和相關聯的封存移至相同的資料庫或個別的資料庫。
下列元件會處理移動要求以移動信箱:
- Microsoft Exchange 信箱複寫服務 (MRS)
- Mailbox Replication Service Proxy (MRS Proxy)
本主題中的程式將協助您進行內部部署信箱移動。 您可以使用 Exchange 管理命令介面和 Exchange 系統管理中心 (EAC) 來移動內部部署組織中的信箱。
如需信箱移動和 MRS Proxy 的詳細資訊,請參閱 Exchange Server 中的信箱移動。
開始之前有哪些須知?
每個程序的預估完成時間:20 分鐘
如需存取和使用 EAC 的詳細資訊,請參閱 Exchange Server 中的 Exchange 系統管理中心。 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell。
您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的權限,請參閱 收件者權限主題中的「信箱移動與移轉權限」項目。
如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange Server、Exchange Online 或 Exchange Online Protection。
建立本機移動要求
您可以建立下列專案的本機移動要求:
單一信箱。
多個信箱 (也稱為 批次移動要求) 。
您在 CSV) 檔案 (以逗號分隔值指定的多個信箱, (也稱為 移轉批次) 。
當您在 EAC (中為 CSV 檔案) 中指定的單一信箱、多個信箱或多個信箱建立本機移動要求時,Exchange 管理命令介面中的 Get-MigrationBatch Cmdlet 會看到要求。 當要求 (自動或手動) 完成時, Get-MoveRequest Cmdlet 會看到每個個別信箱的結果。
若要在 Exchange 管理命令介面中建立新的本機移動要求,您只需使用 New-MigrationBatch Cmdlet 進行移轉批次, (在 CSV 檔案) 中指定信箱。 若要建立不使用 CSV 檔案 (個別信箱或批次移動要求) 的本機移動要求,您必須使用 New-MoveRequest Cmdlet,而 Get-MigrationBatch 批次 Cmdlet (或相關的 *-MigrationBatch* Cmdlet) 看不到這些要求。
使用 EAC 建立本機移動要求
在 EAC 中,移至 [收件者>移轉]> 按兩下 [ 新增,然後選取 [ 移至不同的資料庫]。
[新增本機信箱移動精靈] 隨即開啟。 在 [ 選取使用者] 頁面上,設定下列其中一個選項:
選取您要移動的使用者:選取一或多個使用者:
注意:即使您只想要移動使用者的封存信箱,也請選取使用者的主要信箱。
按兩下 [新增 在出現的 [ 選取信箱 ] 對話框中,選取一或多個信箱。 完成後,按一下 [確定]。
若要從清單中移除信箱,請選取信箱,然後按兩下 [移除移除
指定具有 CSV 檔案的使用者:單擊 [流覽 ] 並移至指定要移動之信箱的 CSV) 檔案 (逗號分隔值的位置。 如需本機移動要求之 CSV 檔案需求的詳細資訊,請參閱 信箱移轉的 CSV 檔案。
在 CSV 檔案中允許未知的資料列:
如果未選取此複選框,移動會忽略 (以無訊息方式略) 過 CSV 檔案中的未知資料行 (包括) 拼錯數據行標頭的選擇性數據行。 所有未知的數據行都會被視為未使用的額外數據行。
如果您選取此複選框,如果 CSV 檔案中有任何未知的數據行,移轉就會失敗。 此設定可防止必要和選擇性數據行標頭的拼字錯誤,但 CSV 檔案不能包含任何不相關的數據行。
完成後,按 [下一步]。
在 [ 移動組態] 頁面上,設定下列設定:
新的移轉批次名稱:輸入信箱移動作業的描述性名稱。
封存:選取下列其中一個選項:
如果主要信箱和封存信箱存在,請移動信箱和封存信箱
僅移動主要信箱,而不移動封存信箱
只移動封存信箱,而不移動主要信箱
目標資料庫:此設定會影響主要信箱的移動。
若要指定主要信箱的資料庫,請按兩下 [ 瀏覽]。 在出現的 [ 選取信箱資料庫 ] 對話框中,選取資料庫。
如果您未指定資料庫,Exchange 中的自動散發邏輯會隨機選取 Active Directory 站台中的資料庫。
目標封存資料庫:此設定會影響封存信箱的移動。
若要指定封存信箱的資料庫,請按兩下 [ 瀏覽]。 在出現的 [ 選取信箱資料庫 ] 對話框中,選取資料庫。
如果您未指定資料庫,封存信箱會移至與主要信箱相同的位置。
不正確的專案限制:指定要求失敗之前,信箱中允許的損毀項目數目上限。 EAC 中的預設值為 10。 請勿在此處指定大於 50 的值。 如果您想要將限制設定為 51 或更高,請在 Exchange 管理命令介面中使用 BadItemLimit 參數和 AcceptLargeDataLoss 參數。
完成後,按 [下一步]。
在 [ 啟動批次 ] 頁面上,設定下列設定:
批次完成之後,報表會傳送給下列收件者。預設值是您用來移動信箱的帳戶。 按兩下 [瀏覽 ] 以新增或移除收件者。 完成後,按一下 [確定]。
請選擇慣用的選項來啟動批次:選取下列其中一個選項:
稍後手動啟動批次
自動啟動批次:這是預設值。
請選擇慣用的選項來完成批次:選取下列其中一個選項:
手動完成批次
自動完成移轉批次:這是預設值。
完成後,按兩下 [ 新增]。
使用 Exchange 管理命令介面為個別或多個信箱建立本機移動要求
個別信箱的本機移動要求會使用 New-MailboxMove Cmdlet。 但是,未在 CSV 檔案中指定信箱之多個信箱的本機移動要求也會使用 New-MailboxMove Cmdlet。 不使用 CSV 檔案之多個信箱的本機移動要求也稱為 批次移動要求。
若要建立個別信箱的本機移動要求,請使用下列語法:
New-MoveRequest "<DescriptiveName>"] -Identity <MailboxIdentity> [<-ArchiveOnly | -PrimaryOnly>] [-TargetDatabase <DatabaseIdentity>] [-ArchiveTargetDatabase<DatabaseIdentity>] [-Priority <PriorityValue>] [-BadItemLimit <Value>] [-AcceptLargeDataLoss]
此範例會使用下列設定建立新的本機移動要求:
信箱:主要信箱和封存信箱 (是否存在,) 用於 () agruber@contoso.com 。 如果您只想要移動主要信箱,請使用 PrimaryOnly 參數。 如果您只想要移動封存信箱,請使用 ArchiveOnly 參數。
主要信箱的目標資料庫:MBX DB02。 如果我們未使用 TargetDatabase 參數,Exchange 中的自動散發邏輯會隨機選取 Active Directory 站台中的資料庫。
封存信箱的目標資料庫:MBX DB03。 如果我們未使用 ArchiveTargetDatabase 參數或 PrimaryOnly 參數,封存信箱資料庫將會移至與主要信箱相同的資料庫。
如果我們在未使用 ArchiveTargetDatabase 參數的情況下使用 ArchiveOnly 參數,Exchange 中的自動散發邏輯會隨機選取 Active Directory 站台中的資料庫。
優先順序:
Normal
,因為我們未使用 Priority 參數。不正確的專案限制:10 (Exchange 管理命令介面中的預設值為 0) 。 因為值小於 51,所以我們不需要使用
AcceptLargeDataLoss
參數。
New-MoveRequest -Identity agruber@contoso.com -TargetDatabase "MBX 02" -ArchiveTargetDatabase "MBX 03" -BadItemLimit 10
此範例會使用類似的設定,但只會移動布建的主要信箱。
New-MoveRequest -Identity agruber@contoso.com -PrimaryOnly -TargetDatabase "MBX 02" -BadItemLimit 10
此範例會使用類似的設定,但只會移動布建的封存信箱。
New-MoveRequest -Identity agruber@contoso.com -ArchiveOnly -ArchiveTargetDatabase "MBX 03" -BadItemLimit 10
如需詳細的語法及參數資訊,請參閱 New-MoveRequest。
批次移動要求使用的語法與個別信箱的移動要求幾乎相同。 主要差異如下:
您不會使用 Identity 參數來指定信箱。 相反地,您可以使用 Get-Mailbox 或 Get-User Cmdlet 來產生您想要移動的信箱清單,並將結果管線至 New-MoveRequest Cmdlet。
您可以使用 BatchName 參數來命名批次移動。
此範例會使用下列設定建立批次移動要求:
要移動的信箱:資料庫上名為 MBX DB01 的所有信箱。
批次名稱:MBX DB01 至 MBX DB02。
目標資料庫:MBX DB02。 如果我們未使用 TargetDatabase 參數,Exchange 中的自動散發邏輯會隨機選取 Active Directory 站台中的資料庫。
封存信箱的目標資料庫:MBX DB02。 因為我們不是使用 ArchiveTargetDatabase 參數或 PrimaryOnly 參數,所以封存信箱資料庫會移至與主要信箱相同的資料庫。
如果我們使用 ArchiveOnly 參數而不使用 ArchiveTargetDatabase 參數,則 Exchange 中的自動散發邏輯會隨機選取 Active Directory 站台中的資料庫。
優先權:
High
不正確的專案限制:51 (Exchange 管理命令介面中的預設值為 0) ,因此我們也需要使用 AcceptLargeDataLoss 參數。
Get-Mailbox -Database "MBX DB01" | New-MoveRequest -BatchName "MBX DB01 to MBX DB02" -TargetDatabase "MBX DB02" -Priority High -BadItemLimit 51 -AcceptLargeDataLoss
如需詳細的語法及參數資訊,請參閱 New-MoveRequest。
使用 Exchange 管理命令介面從 CSV 檔案建立本機移動要求
CSV 檔案中指定的信箱本機移動要求稱為 移轉批次,並使用 New-MigrationBatch Cmdlet。
如需本機移動要求之 CSV 檔案需求的詳細資訊,請參閱 信箱移轉的 CSV 檔案。
注意事項
CSV 檔案中指定的所有信箱都會移轉,即使這些信箱不在 RBAC 範圍之外 (例如,OU) 會提供系統管理員移轉信箱的許可權。
若要建立移轉批次,請使用下列語法:
New-MigrationBatch -Local [-AutoStart] [-AutoComplete] -Name "<MigrationBatchName>" -CSVData ([System.IO.File]::ReadAllBytes('<PathAndFileName>')) [<-ArchiveOnly | -PrimaryOnly>] [-TargetDatabases "<MailboxDatabase1>","<MailboxDatabase1>"... [-TargetArchiveDatabases "<MailboxDatabase1>","<MailboxDatabase1>"...] [-Priority <PriorityValue>] [-BadItemLimit <Value>] [-AcceptLargeDataLoss]
此範例會使用下列設定建立移轉批次:
指定要移動之信箱的 CSV 檔案:C:\Users\Administrator\Desktop\LocalMove 01.csv。 如果您只想要移動主要信箱,請使用 PrimaryOnly 參數或 CSV 檔案中的 MailboxType 值
PrimaryOnly
。 如果您只想要移動封存信箱,請使用 ArchiveOnly 參數或 CSV 檔案中的 MailboxType 值ArchiveOnly
。批次名稱:LocalMove 01。
目標資料庫:MBX DB02。 如果我們未使用 TargetDatabase 參數,而且 CSV 檔案中未指定主要信箱資料庫,則 Exchange 中的自動散發邏輯會隨機選取 Active Directory 網站中的資料庫。
封存信箱的目標資料庫:MBX DB02。 因為我們未在命令或 CSV 檔案) 中使用 ArchiveTargetDatabase 參數 (,所以封存信箱資料庫會移至與主要信箱相同的資料庫。
如果我們在命令或 CSV 檔案) 中使用 ArchiveOnly 參數 (,但未在命令或 CSV 檔案) 中使用 ArchiveTargetDatabase 參數 (,則 Exchange 中的自動散發邏輯會隨機選取 Active Directory 網站中的資料庫。
開始移轉的時機:立即,因為我們使用的是 AutoStart 參數。 如果我們不使用此參數,則必須在建立移轉批次之後,使用 Start-MigrationBatch Cmdlet 來啟動移轉批次。
何時完成移轉:信箱完成初始同步處理之後,因為我們使用 AutoComplete 參數。 如果我們不使用此參數,則必須在建立移轉批次之後,使用 Complete-MigrationBatch Cmdlet 來啟動移轉批次
優先順序:
Normal
,因為我們未使用 Priority 參數。不正確的專案限制:10 (Exchange 管理命令介面中的預設值為 0) 。 因為值小於 51,所以我們不需要使用
AcceptLargeDataLoss
參數。
New-MigrationBatch -Local -AutoStart -AutoComplete -Name "LocalMove 01" -CSVData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\LocalMove 01.csv")) -TargetDatabases "MBX DB02" -BadItemLimit 10
如何知道這是否正常運作?
若要確認您已成功建立本機移動要求,請執行下列任何步驟:
在 EAC 中,移至 [收件者>移 轉] 並確認移動要求的狀態 (請注意,您可能需要按兩下 [ 重新整理) 。 您可以選取移動要求,並在詳細資料窗格中查看詳細資訊,或按下 [編輯編輯] 。
在 EAC 中,移至 [收件者>移轉] ,然後按兩下[ 所有批次的狀態]。
檢查通知訊息。 寄件者Microsoft Outlook。 當移動要求完成時,您會收到主旨為 的訊息
Migration batch <MigrationBatchName> has completed successfully
。在 EAC 中,按一下通知查看器 以檢視要求的狀態。
在 Exchange 管理命令介面中,將 MailboxIdentity> 取代<為信箱的名稱、電子郵件地址或別名,然後執行此命令來驗證基本屬性值:
Get-MoveRequest -Identity <MailboxIdentity> | Format-List DisplayName,Alias,Status,*database*
在 Exchange 管理命令介面中,將 BatchName> 取代<為移動要求的批次名稱值,然後執行此命令來驗證基本屬性值:
Get-MoveRequest -BatchName <BatchName> | Format-List DisplayName,Alias,Status,*database*
注意:如果您在 EAC 中建立移動要求,批次名稱值為
MigrationService:<BatchNameValueFromTheEAC>
。如果您已在 EAC 中建立移動要求,請以您指定的批次名稱值取代 <BatchName> ,然後在 Exchange 管理命令介面中執行此命令,以確認移動中所有信箱的摘要資訊:
Get-MigrationUserStatistics -BatchId <BatchName>
如果您已在 EAC 中建立移動要求,請將 EmailAddress> 取代<為已移動信箱的電子郵件地址,然後執行此命令以查看指定信箱的詳細資訊:
Get-MigrationUserStatistics -Identity <EmailAddress> | Format-List
如需詳細資訊,請參閱 Get-MigrationUserStatistics。
顯示遷移批次
如需如何使用 Exchange 管理命令介面來顯示移轉批次的範例,請參閱 Get-MigrationBatch 中的範例 2。
使用 .csv 批次檔案來建立跨樹系移動
此範例可設定遷移端點,並使用 .csv 檔案從來源樹系將跨樹系批次移動建立到目標樹系。
New-MigrationEndpoint -Name Fabrikam -ExchangeRemote -Autodiscover -EmailAddress tonysmith@fabrikam.com -Credentials (Get-Credential fabrikam\tonysmith)
$csvData=[System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\batch.csv")
New-MigrationBatch -CSVData $csvData -Timezone "Pacific Standard Time" -Name FabrikamMerger -SourceEndpoint Fabrikam -TargetDeliveryDomain "mail.contoso.com"
如需更多關於準備跨樹系移動的樹系資訊,請參閱以下主題:
如需詳細的語法及參數資訊,請參閱 New-MigrationBatch 與 New-MoveRequest。
如何知道這是否正常運作?
若要確認您是否已成功完成遷移,執行下列操作:
從 Exchange 管理命令介面,執行下列命令來擷取信箱移動資訊。
Get-MigrationUserStatistics -Identity BatchName -Status | Format-List
如需詳細資訊,請參閱 Get-MigrationUserStatistics。