使用 PowerShell 以完全移轉至 Microsoft 365

本文適用於 Microsoft 365 企業版和 Office 365 企業版。

您可以使用完全移轉,一次將使用者信箱的內容從來源電子郵件系統移轉至 Microsoft 365。 本文會引導您使用 Exchange Online PowerShell 來進行電子郵件完全移轉的工作。

藉由檢閱將 電子郵件完全移轉至 Microsoft 365 所需瞭解的主題,您可以取得移轉程式的概觀。 在熟悉該文章的內容後,請使用此主題來開始在不同電子郵件系統中移轉信箱。

注意事項

您也可以使用 Exchange 系統管理中心 來執行完全移轉。 請參閱 執行電子郵件到 Microsoft 365 的完全移轉

開始之前有哪些須知?

完成此工作的預估時間:2-5 分鐘來建立遷移批次。 啟動移轉批次之後,移轉所需的時間會依批次中的信箱數目、每個信箱的大小和可用的網路容量而有所不同。 如需影響將信箱移轉至 Microsoft 365 所需時間之其他因素的資訊,請參閱 移轉效能

您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要哪些權限,請參閱收件者權限主題中所含表格的「移轉」項目。

若要使用 Exchange Online PowerShell Cmdlet,您需要登入系統,並將 Cmdlet 匯入您的本機 Windows PowerShell 工作階段。 如需指示,請參閱連線到 Exchange Online PowerShell

若需要移轉命令的完整清單,請參閱移動與移轉 Cmdlet

移轉步驟

步驟 1:準備完全移轉

  • 將內部部署 Exchange 組織新增為 Microsoft 365 組織的可接受網域。 移轉服務會使用內部部署信箱的 SMTP 位址,為新的 Microsoft 365 信箱建立 Microsoft Online Services 使用者識別碼和電子郵件地址。 如果您的 Exchange 網域不是 Microsoft 365 組織的可接受網域或主要網域,移轉將會失敗。 如需詳細資訊,請 參閱驗證您的網域

  • 在內部部署 Exchange 伺服器上設定 Outlook 無所不在。 電子郵件移轉服務會使用 RPC over HTTP (或 Outlook 無所不在) 連線至您的內部部署 Exchange 伺服器。 如需如何為 Exchange 2010、Exchange 2007 和 Exchange 2003 設定 Outlook 無所不在的相關資訊,請參閱下列主題:

  • 確認您可以使用 Outlook 無所不在連線至 Exchange 組織。 嘗試下列其中一種方法測試您的連線設定:

    • 從公司網路之外使用 Microsoft Outlook 連線至內部部署 Exchange 信箱。

    • 使用 Microsoft Exchange Remote Connectivity Analyzer 測試連線設定。 使用 Outlook 無所不在 (RPC over HTTP) 或 Outlook 自動探索測試。

    • 在 Exchange Online PowerShell 中執行下列命令。

    $Credentials = Get-Credential
    
    Test-MigrationServerAvailability -ExchangeOutlookAnywhere -Autodiscover -EmailAddress <email address for on-premises administrator> -Credentials $credentials
    
  • 指派必要權限給內部部署使用者帳戶來存取 Exchange 組織中的信箱。 您用來連線到內部部署 Exchange 組織的內部部署使用者帳戶 (也稱為移轉系統管理員) 必須具有存取您想要移轉至 Microsoft 365 之內部部署信箱的必要許可權。 此使用者帳戶可用來建立內部部署組織的移轉端點。

    下列清單顯示使用完全移轉來移轉信箱時所需的系統管理權限。 有三個可能的選項。

    • 移轉系統管理員在內部部署組織的 Active Directory 中必須是 Domain Admins 群組的成員。

    • 移轉系統管理員必須具有每個內部部署信箱的 FullAccess 權限。

    • 在儲存使用者信箱的內部部署信箱資料庫上,移轉系統管理員必須具有 [以下列接收] 權限。

  • 停用整合通訊。 如果您要移轉的內部部署信箱已啟用整合通訊 (UM),則移轉之前必須先在信箱上停用 UM。 您可以在移轉完成之後,再於信箱上啟用 UM。

  • 安全性群組和委派電子郵件移轉服務無法偵測內部部署的 Active Directory群組是否為安全性群組,因此無法在 Microsoft 365 中將任何移轉的群組布建為安全性群組。 如果您想要在 Microsoft 365 租使用者中擁有安全性群組,您必須先在 Microsoft 365 租使用者中布建啟用郵件功能的空白安全性群組,再開始完全移轉。 此外,此移轉方法只會移動信箱、郵件使用者、郵件連絡人和擁有郵件功能的群組。 如果任何其他 Active Directory 物件,例如未移轉至 Microsoft 365 的使用者,被指派為要移轉之物件的管理員或委派,則必須先從物件中移除這些物件,才能移轉。

步驟 2:建立移轉端點

若要成功移轉電子郵件,Microsoft 365 必須連線來源電子郵件系統並與之通訊。 若要這樣做,Microsoft 365 會使用移轉端點。 若要建立 Outlook 無所不在移轉端點以進行分段移轉,請先連線至 Exchange Online

若需要移轉命令的完整清單,請參閱移動與移轉 Cmdlet

在 Exchange Online PowerShell 中執行下列命令:

$Credentials = Get-Credential

此範例使用 Test-MigrationServerAvailability Cmdlet 來取得並測試內部部署 Exchange 伺服器的連線設定,然後使用那些連線設定來建立名為 "CutoverEndpoint" 的移轉端點。

$TSMA = Test-MigrationServerAvailability -ExchangeOutlookAnywhere -Autodiscover -EmailAddress administrator@contoso.com -Credentials $credentials
New-MigrationEndpoint -ExchangeOutlookAnywhere -Name CutoverEndpoint -ConnectionSettings $TSMA.ConnectionSettings

注意事項

藉由使用 -TargetDatabase 選項,可以使用 New-MigrationEndpoint Cmdlet 來指定要使用之服務的資料庫。 否則系統會從管理信箱所在的 Active Directory Federation Services (AD FS) 2.0 網站隨機指派資料庫。

確認是否正常運作

在 Exchange Online PowerShell 中執行下列命令來顯示 "CutoverEndpoint" 移轉端點的資訊:

Get-MigrationEndpoint CutoverEndpoint | Format-List EndpointType,ExchangeServer,UseAutoDiscover,Max*

步驟 3:建立完全移轉批次

您可以在 Exchange Online PowerShell 中使用 New-MigrationBatch Cmdlet,為完全移轉建立移轉批次。 您可以建立移轉批次,並加上 AutoStart 參數來自動啟動它。 或者,您也可以先建立移轉批次,以後再手動使用 Start-MigrationBatch Cmdlet 啟動它。 本範例會建立名為 "CutoverBatch" 的移轉批次,並使用上一個步驟中建立的移轉端點。

New-MigrationBatch -Name CutoverBatch -SourceEndpoint CutoverEndpoint -AutoStart

本範例也會建立名為 "CutoverBatch" 的移轉批次,並使用上一個步驟中建立的移轉端點。 因為未包含 AutoStart 參數,所以必須在移轉儀表板上或使用 Start-MigrationBatch Cmdlet 手動啟動移轉批次。 如前所述,一次只能有一個完全移轉批次。

New-MigrationBatch -Name CutoverBatch -SourceEndpoint CutoverEndpoint

確認是否正常運作

若要確認您已順利為完全移轉建立移轉批次,請在 Exchange Online PowerShell 中執行下列命令來顯示新移轉批次的資訊:

Get-MigrationBatch | Format-List

步驟 4:啟動完全移轉批次

若要在 Exchange Online PowerShell 中啟動移轉批次,請執行下列命令。 這樣會建立名為 "CutoverBatch" 的移轉批次。

Start-MigrationBatch -Identity CutoverBatch

確認是否正常運作

如果移轉批次已順利啟動,則其在移轉儀表板上的狀態會指定為「正在同步處理」。 若要確認您已使用 Exchange Online PowerShell 成功啟動移轉批次,請執行下列命令:

Get-MigrationBatch -Identity CutoverBatch |  Format-List Status

步驟 5:將您的電子郵件路由傳送至 Microsoft 365

電子郵件系統使用稱為 MX 記錄的 DNS 記錄來找出要將電子郵件傳遞到哪裡。 在電子郵件移轉過程中,您的 MX 記錄指向來源電子郵件系統。 現在電子郵件移轉至 Microsoft 365 已完成,現在可以將您的 MX 記錄指向 Microsoft 365。 這有助於確保將電子郵件傳遞至您的 Microsoft 365 信箱。 藉由移動 MX 記錄,您也可以在準備好時關閉舊的電子郵件系統。

我們針對許多 DNS 提供者提供變更 MX 記錄的特定指示。 如果您的 DNS 提供者不包含在內,或者如果您想要了解一般指示,我們也會提供一般 MX 記錄指示

您的客戶與合作夥伴的電子郵件系統最多可能需要 72 小時才能辨識已變更的 MX 記錄。 請至少等待 72 小時,再繼續進行下一個工作: 步驟 6:刪除完全移轉批次.

步驟 6:刪除完全移轉批次

在變更 MX 記錄並確認所有電子郵件會路由傳送到 Microsoft 365 信箱後,通知使用者他們的郵件將移至 Microsoft 365。 在此之後,您便可以刪除完全移轉批次。 在刪除移轉批次之前,請先確認下列事項。

  • 所有使用者都使用 Microsoft 365 信箱。 刪除批次之後,傳送至內部部署Exchange Server信箱的郵件不會複製到對應的 Microsoft 365 信箱。

  • Microsoft 365 信箱在郵件開始直接傳送給信箱之後至少同步一次。 若要這樣做,請確定移轉批次的 [上次同步處理時間] 方塊中的值比直接路由傳送至 Microsoft 365 信箱時還要新。

若要在 Exchange Online PowerShell 中刪除 "CutoverBatch" 移轉批次,請執行下列命令:

Remove-MigrationBatch -Identity CutoverBatch

第 7 節:指派使用者授權

藉由指派授權,為已移轉的帳戶啟用 Microsoft 365 使用者帳戶。 如果您未指派授權,則當寬限期 (30 天) 結束時就會停用信箱。 若要在Microsoft 365 系統管理中心中指派授權,請參閱指派或取消指派授權

步驟 8:完成移轉後工作

  • 建立自動探索 DNS 記錄,讓使用者可以輕鬆存取他們的信箱。 將所有內部部署信箱移轉至 Microsoft 365 之後,您可以為 Microsoft 365 組織設定自動探索 DNS 記錄,讓使用者使用 Outlook 和行動用戶端輕鬆地連線到新的 Microsoft 365 信箱。 這個新的自動探索 DNS 記錄必須使用您用於 Microsoft 365 組織的相同命名空間。 舉例來說,如果您的雲端架構命名空間是 cloud.contoso.com,則您需要建立的自動探索 DNS 記錄是 autodiscover.cloud.contoso.com。

    如果您保留Exchange Server,您也應該確定在移轉之後,自動探索 DNS CNAME 記錄必須同時指向內部和外部 DNS 中的 Microsoft 365,讓 Outlook 用戶端能夠連線到正確的信箱。

    注意事項

    在 Exchange 2007、Exchange 2010 和 Exchange 2013 中,您也應該將 Set-ClientAccessServer AutodiscoverInternalConnectionURI 設為 Null

    Microsoft 365 使用 CNAME 記錄來實作 Outlook 和行動用戶端的自動探索服務。 自動探索 CNAME 記錄必須包含下列資訊:

  • 解除委任內部部署的 Exchange 伺服器。 確認所有電子郵件都直接路由傳送至 Microsoft 365 信箱,而且您不再需要維護內部部署電子郵件組織,或不打算實作單一登入 (SSO) 解決方案之後,您可以從伺服器卸載 Exchange 並移除內部部署 Exchange 組織。

    如需詳細資訊,請參閱下列各主題: