共用方式為


使用 PowerShell 以階段移轉至 Microsoft 365

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

您可以使用分段移轉,在一段時間內將使用者信箱的內容從來源電子郵件系統移轉至 Microsoft 365。

本文將逐步引導您完成使用 Exchange Online PowerShell 進行分段電子郵件移轉所涉及的工作。 您 需要知道的分段電子郵件移轉主題會提供移轉程式的概觀。 在熟悉該文章的內容後,請使用此主題來開始在不同電子郵件系統中移轉信箱。

注意事項

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

開始之前有哪些須知?

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

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

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

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

移轉步驟

步驟 1:準備分段移轉

使用分段移轉將信箱移轉至 Microsoft 365 之前,您必須對 Exchange 環境進行一些變更。

在您的內部部署 Exchange Server 上 設定 Outlook 無所不在 電子郵件移轉服務會使用 Outlook 無所不在 (也稱為 RPC over HTTP) 來連線至您的內部部署 Exchange Server。 如需如何針對 Exchange Server 2007 和 Exchange 2003 設定 Outlook 無所不在 的資訊,請參閱下列文章:

重要事項

您必須在設定 Outlook 無所不在時使用信任的憑證授權單位 (CA) 所發行的憑證。 您無法使用自我簽署憑證設定 Outlook 無所不在。 如需詳細資訊,請參閱如何為 Outlook 無所不在設定 SSL

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

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

  • 使用 Microsoft 遠端連線分析器 來測試您的連線設定。 使用 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 組織的內部部署使用者帳戶 (也稱為移轉系統管理員) 必須具有存取您想要移轉至 Microsoft 365 之內部部署信箱的必要許可權。 當您稍後在步驟 3:建立移轉端點中建立移轉端點來連線到電子郵件系統時,會使用此使用者帳戶。

若要移轉信箱,系統管理員必須具備下列其中一組權限:

  • 屬於內部部署組織中 Active Directory 內的 Domain Admins 群組成員。

  • 獲得每個內部部署信箱的 FullAccess 權限,以及用來修改內部部署使用者帳戶的 TargetAddress 內容的 WriteProperty 權限。

  • 獲得儲存使用者信箱的內部部署信箱資料庫的 Receive As 權限,以及用來修改內部部署使用者帳戶的 TargetAddress 內容的 WriteProperty 權限。

如需如何設定這些許可權的指示,請 參閱指派許可權以將信箱移轉至 Microsoft 365

停用整合通訊 (UM) 如果您要移轉的內部部署信箱已開啟 UM,請先關閉 UM 再進行移轉。 移轉完成後再開啟信箱的 UM。 如需操作步驟,請參閱如何對使用者停用整合通訊

使用目錄同步處理在 Microsoft 365 中建立新的使用者。 您可以使用目錄同步處理來建立 Microsoft 365 組織中的所有內部部署使用者。

您必須授權已建立的使用者。 您必須在建立使用者後的 30 天內增加授權。 若要增加授權的步驟,請參閱步驟 8:完成移轉後工作

您可以使用Microsoft Entra同步處理工具或Microsoft Azure AD同步服務,在 Microsoft 365 中同步處理及建立內部部署使用者。 將信箱移轉至 Microsoft 365 之後,您會管理內部部署組織中的使用者帳戶,並將其與您的 Microsoft 365 組織同步處理。 如需詳細資訊,請參閱目錄整合

步驟 2:建立分段移轉批次所需的 CSV 檔案

在您識別要移轉至 Microsoft 365 的內部部署信箱之後,您會使用逗號分隔值 (CSV) 檔案來建立移轉批次。 Microsoft 365 用來執行移轉的 CSV 檔案中每個資料列都包含內部部署信箱的相關資訊。

注意事項

您可以使用分段移轉移轉至 Microsoft 365 的信箱數目沒有限制。 移轉批次的 CSV 檔案最多可包含 2,000 列。 若要移轉超過 2,000 個信箱,請建立其他 CSV 檔案並使用各個檔案建立新的移轉批次。

支援的屬性

分段移轉的 CSV 檔案支援下列三個屬性。 CSV 檔案中的每一列都對應至一個信箱,而且必須包含這些屬性的值。

屬性 描述 Required?
EmailAddress
指定內部部署信箱的主要 SMTP 電子郵件地址, pilarp@contoso.com 例如 。
使用內部部署信箱的主要 SMTP 位址,而非來自 Microsoft 365 的使用者識別碼。 例如,如果內部部署網域的名稱為 contoso.com 但 Microsoft 365 電子郵件網功能變數名稱為 service.contoso.com,您會在 CSV 檔案中使用 contoso.com 功能變數名稱作為電子郵件地址。
必要
密碼
要為新的 Microsoft 365 信箱設定的密碼。 任何套用至 Microsoft 365 組織的密碼限制,也會套用至 CSV 檔案中包含的密碼。
選用
ForceChangePassword
指定使用者第一次登入新的 Microsoft 365 信箱時是否必須變更密碼。 使用 TrueFalse 作為此參數的值。
>[!注意] > 如果您已在內部部署組織中部署 Active Directory 同盟服務 (AD FS) 或更新版本,實作單一登入 (SSO) 解決方案,則必須使用False作為ForceChangePassword屬性的值。
選用

CSV 檔案格式

以下是 CSV 檔案的格式範例: 在此範例中,三個內部部署信箱會移轉至 Microsoft 365。

CSV 檔案的第一列 (或標題列) 會列出屬性或欄位 (在後續列中指定) 的名稱。 每個屬性名稱皆以逗號分隔。

EmailAddress,Password,ForceChangePassword
pilarp@contoso.com,Pa$$w0rd,False
tobyn@contoso.com,Pa$$w0rd,False
briant@contoso.com,Pa$$w0rd,False

標題列底下的每一列都代表一個使用者,並且提供將用來移轉使用者信箱的資訊。 每一個資料列中屬性值的順序必須與標頭列中所列屬性名稱的順序相同。

使用任何文字編輯器或 Excel 之類的應用程式來建立 CSV 檔案。 將檔案儲存為 .csv 或 .txt 檔。

注意事項

如果 CSV 檔案包含非 ASCII 或特殊字元,請以 UTF-8 或其他 Unicode 編碼儲存該 CSV 檔案。 依應用程式而定,當電腦的系統地區設定與 CSV 檔中所用的語言相符時,以 UTF-8 或其他 Unicode 編碼儲存 CSV 檔可能會比較容易。

步驟 3:建立移轉端點

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

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

若要在 Exchange Online PowerShell 中建立名為 "StagedEndpoint" 的 Outlook 無所不在移轉端點,請執行下列命令:

$Credentials = Get-Credential
New-MigrationEndpoint -ExchangeOutlookAnywhere -Name StagedEndpoint -Autodiscover -EmailAddress administrator@contoso.com -Credentials $Credentials

如需 New-MigrationEndpoint Cmdlet 的詳細資訊,請參閱New-MigrationEndpoint

注意事項

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

確認是否正常運作

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

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

步驟 4:建立並啟動分段移轉批次

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

New-MigrationBatch -Name StagedBatch1 -SourceEndpoint StagedEndpoint -AutoStart

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

New-MigrationBatch -Name StagedBatch1 -SourceEndpoint StagedEndpoint

確認是否正常運作

在 Exchange Online PowerShell 中執行下列命令來顯示 "StagedBatch1" 的資訊:

Get-MigrationBatch -Identity StagedBatch1 | Format-List

您也可以執行下列命令來確認批次已啟動:

Get-MigrationBatch -Identity StagedBatch1 | Format-List Status

如需 Get-MigrationBatch Cmdlet 的詳細資訊,請參閱Get-MigrationBatch

步驟 5:將內部部署信箱轉換成擁有郵件功能的使用者

成功移轉信箱批次之後,您必須有方法能讓使用者存取他們的郵件。 信箱已移轉的使用者現在同時擁有內部部署信箱和 Microsoft 365 中的一個信箱。 在 Microsoft 365 中擁有信箱的使用者將會停止在其內部部署信箱中接收新郵件。

因為您尚未完成移轉,所以尚未準備好將所有使用者導向 Microsoft 365 以取得其電子郵件。 所以該如何處理同時擁有兩個信箱的使用者? 您可以變更已移轉至「啟用郵件功能的使用者」的內部部署信箱。 當您從信箱變更為啟用郵件功能的使用者時,您可以將使用者導向 Microsoft 365 以取得其電子郵件,而不是前往其內部部署信箱。

將內部部署信箱轉換為擁有郵件功能的使用者的另一個重要原因是將 Proxy 位址複製到擁有郵件功能的使用者,以保留 Microsoft 365 信箱中的 Proxy 位址。 如此可讓您使用 Active Directory 從內部部署組織管理雲端使用者。 此外,如果您決定在所有信箱移轉至 Microsoft 365 之後解除委任內部部署Exchange Server組織,您複製到擁有郵件功能的使用者的 Proxy 位址將會保留在您的內部部署的 Active Directory中。

步驟 6:刪除分段移轉批次

將移轉批次中的所有信箱順利移轉,並將批次中的內部部署信箱轉換成擁有郵件功能的使用者後,就可以刪除分段移轉批次。 請務必確認郵件正在移轉批次中轉送到 Microsoft 365 信箱。 當您刪除分段移轉批次時,移轉服務會清除與該移轉批次相關的所有記錄,並刪除該移轉批次。

若要刪除 Exchange Online PowerShell 中的 "StagedBatch1" 移轉批次,請執行下列命令。

Remove-MigrationBatch -Identity StagedBatch1

如需 Remove-MigrationBatch Cmdlet 的詳細資訊,請參閱Remove-MigrationBatch

確認是否正常運作

在 Exchange Online PowerShell 中執行下列命令來顯示 "IMAPBatch1" 的資訊:

Get-MigrationBatch StagedBatch1

此命令會傳回狀態為 Removing 的移轉批次,或傳回錯誤,指出找不到移轉批次而需確認該批次是否已刪除。

如需 Get-MigrationBatch Cmdlet 的詳細資訊,請參閱Get-MigrationBatch

步驟 7:將授權指派給 Microsoft 365 使用者

藉由指派授權,為已移轉的帳戶啟用 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。

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

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

注意事項

解除委任 Exchange 可能會出現意外的結果。 在解除委任內部部署的 Exchange 組織之前,建議您先連絡 Microsoft 支援服務。

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