使用 PowerShell 來執行 IMAP 移轉至 Office 365

 

適用版本:Office 365

上次修改主題的時間:2016-12-21

摘要:了解如何使用 Windows PowerShell 來從 IMAP 移轉到 Office 365。

在部署 Office 365 的過程中,您可以選擇將使用者信箱的內容從網際網路訊息存取通訊協定 (IMAP) 電子郵件服務移轉到 Office 365。本文會引導您使用 Exchange Online PowerShell 來進行電子郵件 IMAP 移轉的工作。

註記注意事項:
您也可以使用 Exchange 系統管理中心來執行 IMAP 移轉。請參閱將 IMAP 信箱移轉到 Office 365

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

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

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

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

下列限制適用於 IMAP 移轉:

  • 僅能移轉使用者收件匣或其他郵件資料夾中的項目。您無法移轉連絡人、行事曆項目或工作。

  • 最多只能從使用者信箱移轉 500,000 個項目。

  • 可移轉的郵件大小上限為 35 MB。

  • 如果您擁有適用於 IMAP 組織的網域,請將其新增為 Office 365 組織的公認網域。如果您想使用已擁有並適用於 Office 365 信箱的相同網域,必須先將其新增為 Office 365 的公認網域。新增後,您可以在 Office 365 內建立使用者。如需詳細資訊,請參閱在 Office 365 中驗證您的網域

  • 將每位使用者新增到 Office 365,讓他們都擁有 Office 365 信箱。如需指示,請參閱新增使用者到商務用 Office 365

  • 取得 IMAP 伺服器的 FQDN。您必須提供 IMAP 伺服器的完整網域名稱 (FQDN) (也稱為「完整電腦名稱」),當您建立 IMAP 移轉端點時,將會從此伺服器移轉信箱資料。使用 IMAP 用戶端或 PING 命令,確認是否可以使用 FQDN,透過網際網路與 IMAP 伺服器通訊。

  • 設定防火牆來允許 IMAP 連線。您可能必須開啟主控 IMAP 伺服器之組織的防火牆中的通訊埠,以便允許移轉期間源自 Microsoft 資料中心的網路流量進入主控 IMAP 伺服器的組織。如需 Microsoft 資料中心所使用的 IP 位址清單,請參閱 Office 365 URL 與 IP 位址範圍

  • 指派系統管理員帳戶權限來存取 IMAP 組織中的信箱。如果您在 CSV 檔案中使用系統管理員認證,您所使用的帳戶必須具有能存取內部部署信箱的必要權限。存取使用者信箱所需的權限是由特定的 IMAP 伺服器決定。

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

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

  • 確認您可以連線至 IMAP 伺服器。在 Exchange Online PowerShell 中執行下列命令,測試 IMAP 伺服器的連線設定。

    Test-MigrationServerAvailability -IMAP -RemoteServer <FQDN of IMAP server> -Port <143 or 993> -Security <None, Ssl, or Tls>
    

    對於 Port 參數的值,通常是使用 143 來進行未加密或傳輸層安全性 (TLS) 連線,以及使用 993 來進行 SSL 連線。

識別您想要在 IMAP 移轉批次中移轉其信箱的使用者群組。CSV 檔案中的每一列包含連線至 IMAP 郵件系統中的信箱所需的資訊。

以下是供每個使用者使用的必要屬性。

  • EmailAddress 會指定使用者 Office 365 信箱的使用者識別碼。

  • UserName 會指定帳戶在存取 IMAP 伺服器上的信箱時所使用的登入名稱。

  • Password 會指定 UserName 欄中之帳戶的密碼。

以下是 CSV 檔案的格式範例:在此範例中,會移轉三個信箱:

EmailAddress,UserName,Password
terrya@contoso.edu,terry.adams,1091990
annb@contoso.edu,ann.beebe,2111991
paulc@contoso.edu,paul.cannon,3281986

若是 UserName 屬性,除了使用者名稱,您還可以使用已指派必要權限的帳戶認證來存取 IMAP 伺服器上的信箱,以下是一些 IMAP 伺服器使用的特定格式:

Microsoft Exchange:

如果您要從 Microsoft Exchange 的 IMAP 實作中移轉電子郵件,請針對 CSV 檔案中的 UserName 屬性使用 Domain/Admin_UserName/User_UserName 格式。假設您要從 Exchange 中移轉 Terry Adams、Ann Beebe 和 Paul Cannon 的電子郵件。您具有郵件系統管理員帳戶,其使用者名稱為 mailadmin,而密碼為 P@ssw0rd。以下是您 CSV 檔的外觀:

EmailAddress,UserName,Password
terrya@contoso.edu,contoso-students/mailadmin/terry.adams,P@ssw0rd
annb@contoso.edu,contoso-students/mailadmin/ann.beebe,P@ssw0rd
paulc@contoso.edu,contoso-students/mailadmin/paul.cannon,P@ssw0rd

Dovecot:

若為支援簡單驗證及安全性階層 (SASL) 的 IMAP 伺服器 (例如 Dovecot IMAP 伺服器),請使用 User_UserName*Admin_UserName 格式,其中星號 (*) 是可設定的分隔字元。假設您要使用系統管理員認證 mailadminP@ssw0rd,從 Dovecot IMAP 伺服器中移轉相同使用者的電子郵件。以下是您 CSV 檔的外觀:

EmailAddress,UserName,Password
terrya@contoso.edu,terry.adams*mailadmin,P@ssw0rd
annb@contoso.edu,ann.beebe*mailadmin,P@ssw0rd
paulc@contoso.edu,paul.cannon*mailadmin,P@ssw0rd

Mirapoint:

如果您要從 Mirapoint Message Server 中移轉電子郵件,請針對系統管理員認證使用 #user@domain#Admin_UserName# 格式。若要使用系統管理員認證 mailadminP@ssw0rd,從 Mirapoint 中移轉電子郵件,您 CSV 檔的外觀如下:

EmailAddress,UserName,Password
terrya@contoso.edu,#terry.adams@contoso-students.edu#mailadmin#,P@ssw0rd
annb@contoso.edu,#ann.beebe@contoso-students.edu#mailadmin#,P@ssw0rd
paulc@contoso.edu,#paul.cannon@contoso-students.edu#mailadmin#,P@ssw0rd

Courier-IMAP:

某些來源電子郵件系統,例如 Courier IMAP,不支援使用信箱管理員認證將信箱移轉至 Office 365。相反地,您可以設定來源電子郵件系統來使用虛擬共用資料夾。藉由使用虛擬共用資料夾,您可以使用信箱管理員認證來存取來源電子郵件系統上的使用者信箱。如需如何設定適用於 Courier IMAP 的虛擬共用資料夾的詳細資訊,請參閱共用資料夾

若要在來源電子郵件系統上設定虛擬共用資料夾之後移轉信箱,您必須在移轉檔案中加入選擇性屬性 UserRoot。此屬性會指定每個使用者信箱在來源電子郵件系統之虛擬共用資料夾結構中的位置。例如,前往 Terry 信箱的路徑是 /users/terry.adams。

以下是包含 UserRoot 屬性之 CSV 檔案的範例:

EmailAddress,UserName,Password,UserRoot
terrya@contoso.edu,mailadmin,P@ssw0rd,/users/terry.adams
annb@contoso.edu,mailadmin,P@ssw0rd,/users/ann.beebe
paulc@contoso.edu,mailadmin,P@ssw0rd,/users/paul.cannon

若要成功移轉電子郵件,Office 365 需要連線到來源電子郵件系統並與其通訊。為了這麼做,Office 365 會使用移轉端點。移轉端點也會定義要同時移轉的信箱數目,以及要在每 24 小時執行一次的增量同步處理期間同時同步處理的信箱數目。若要建立 IMAP 移轉的移轉端點,請先連線至 Exchange Online

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

若要在 Exchange Online PowerShell 中建立名為 "IMAPEndpoint" 的 IMAP 移轉端點,請執行下列命令:

New-MigrationEndpoint -IMAP -Name IMAPEndpoint -RemoteServer imap.contoso.com -Port 993 -Security Ssl

您也可以新增參數來指定同時移轉、同時增量移轉和要使用的通訊埠。下列 Exchange Online PowerShell 命令會建立名為 "IMAPEndpoint" 的 IMAP 移轉端點,該端點支援 50 件同時移轉,以及最多 25 件同時增量同步處理。它也會將端點設定為使用通訊埠 143 來進行 TLS 加密。

New-MigrationEndpoint -IMAP -Name IMAPEndpoint -RemoteServer imap.contoso.com -Port 143 -Security Tls -MaxConcurrentMigrations
50 -MaxConcurrentIncrementalSyncs 25

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

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

Get-MigrationEndpoint IMAPEndpoint | Format-List EndpointType,RemoteServer,Port,Security,Max*

您可以使用 New-MigrationBatch Cmdlet 來建立 IMAP 移轉的移轉批次。您可以建立移轉批次,並加上 AutoStart 參數來自動啟動它。或者,您可以建立移轉批次,之後再使用 Start-MigrationBatch Cmdlet 來啟動該批次。

下列 Exchange Online PowerShell 命令將會使用名為 "IMAPEndpoint" 的 IMAP 端點自動啟動名為 "IMAPBatch1" 的移轉批次:

New-MigrationBatch -Name IMAPBatch1 -SourceEndpoint IMAPEndpoint -CSVData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\IMAPmigration_1.csv")) -AutoStart

執行 Get-MigrationBatch Cmdlet 來顯示 "IMAPBatch1" 的資訊:

Get-MigrationBatch -Identity IMAPBatch1 | Format-List

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

Get-MigrationBatch -Identity IMAPBatch1 | Format-List Status

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

我們針對許多 DNS 提供者提供變更 MX 記錄的特定指示。如果您的 DNS 提供者不在其中,或如果您想要了解一般指示,我們也提供在任一 DNS 主機服務提供者建立 Office 365 的 DNS 記錄

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

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

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

  • 郵件開始直接傳送給 Office 365 信箱後,信箱至少已同步一次。若要這麼做,請確定移轉批次的 [上次同步時間] 方塊中的值,比郵件開始直接路由傳送到 Office 365 信箱時更新。

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

Remove-MigrationBatch -Identity IMAPBatch1

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

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

Get-MigrationBatch IMAPBatch1"

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

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

 
顯示: