使用批次移轉將舊版公用資料夾移轉至 Microsoft 365 或 Office 365
摘要:使用這些程式將 Exchange 2010 公用資料夾移至 Microsoft 365 或 Office 365。
本文說明如何在從 Exchange Server 2010 Service Pack 3 (SP) 3 的更新匯總 8 移轉至 Microsoft 365 或 Office 365 和 Exchange Online 的完全移轉或分段移轉中移轉公用資料夾。
本文將 Exchange 2010 SP3 RU8 伺服器稱為舊版 Exchange 伺服器。 此外,本文中的步驟也適用於 Exchange Online 和 Microsoft 365 或 Office 365。 在本文中,這些字詞可能會交替使用。
建議您不要使用 Outlook 的 PST 匯出功能,將公用資料夾移轉至 Microsoft 365 或 Office 365 或 Exchange Online。 Microsoft 365、Office 365 和 Exchange Online 公用資料夾信箱成長是使用自動分割功能來管理,此功能會在超過大小配額時分割公用資料夾信箱。 當您使用 PST 匯出來移轉公用資料夾時,自動分割無法處理公用資料夾信箱的突然成長,而您可能必須等候長達兩週,自動分割才能將資料從主要信箱移走。 建議您使用本檔中以 Cmdlet 為基礎的指示,將公用資料夾移轉至 Microsoft 365、Office 365 或 Exchange Online。 不過,如果您選擇使用 PST 匯出移轉公用資料夾,請參閱本文稍後的使用 Outlook PST 導出將公用資料夾移轉至 Microsoft 365 或 Office 365 一節。
除了下列 PowerShell 腳本之外,您還會使用 *-MigrationBatch Cmdlet 進行移轉:
SourceSideValidations.ps1
:來源端驗證文本會掃描來源的公用資料夾,並報告找到的問題,以及修正問題的動作。 您可以在舊版內部部署 Exchange 伺服器上執行此文稿。Export-PublicFolderStatistics.ps1
:此文本會建立資料夾名稱對資料夾大小對應檔案。 您會在舊版 Exchange 伺服器上執行此腳稿。Export-PublicFolderStatistics.psd1
:腳本會使用這個支援檔案,Export-PublicFolderStatistics.ps1
而且應該下載到相同的位置。PublicFolderToMailboxMapGenerator.ps1
:此腳本會使用腳本的輸出來建立公用資料夾對信箱對Export-PublicFolderStatistics.ps1
應檔案。 您會在舊版 Exchange 伺服器上執行此腳稿。PublicFolderToMailboxMapGenerator.strings.psd1
:腳本會使用這個支援檔案,PublicFolderToMailboxMapGenerator.ps1
而且應該下載到相同的位置。Create-PublicFolderMailboxesForMigration.ps1
:此腳本會建立移轉的目標公用資料夾信箱。 此外,此腳本會根據公用資料夾 限制中建議的每個公用資料夾信箱使用者登入數目指導方針,計算處理估計使用者負載所需的信箱數目。Create-PublicFolderMailboxesForMigration.strings.psd1
:這個支援檔案是由 Create-PublicFolderMailboxesForMigration.ps1 腳本使用,應該下載到相同的位置。Sync-MailPublicFolders.ps1
:此腳本會同步處理本機 Exchange 部署與 Microsoft 365 或 Office 365 之間啟用郵件功能的公用資料夾物件。 您會在舊版 Exchange 伺服器上執行此腳稿。SyncMailPublicFolders.strings.psd1
:這是腳本所Sync-MailPublicFolders.ps1
使用的支持檔案,應該複製到與前述腳本相同的位置。
步驟 1:下載移轉指令碼會提供關於到哪裡下載這些指令碼的詳細資料。 請確定所有文稿都會下載到相同的位置。
哪些版本的 Exchange 支援將公用資料夾移轉至 Microsoft 365 或 Office 365 和 Exchange Online?
Exchange 支援將公用資料夾移至 Microsoft 365 或 Office 365,並從下列舊版 Exchange Server Exchange Online:
- Exchange 2010 SP3 RU8 或更新版本
如果您需要將公用資料夾移至 Exchange Online,但內部部署伺服器未執行 Exchange 2010 的最低支援版本,強烈建議您升級內部部署伺服器並使用批次移轉,這是唯一支援的公用資料夾移轉方法。
您無法直接從 Exchange 2003 或 Exchange 2007 移轉公用資料夾。 如果您在組織中執行 Exchange 2007 或更早版本,則必須將所有公用資料夾資料庫和複本移至 Exchange 2010 SP3 RU8 或更新版本。 Exchange 2007 或更早版本上不能保留任何公用資料夾複本。 此外,以 Exchange 2013 或更新版本公用資料夾為目的地的郵件無法透過 Exchange 2003 或 Exchange 2007 伺服器路由傳送。
開始之前有哪些須知?
Exchange 2010 伺服器必須執行 Exchange 2010 SP3 RU8 或更新版本。
在 Microsoft 365 或 Office 365 和 Exchange Online 中,您必須是組織管理角色群組的成員。 此角色群組與您第一次註冊時指派給您的許可權不同。 如需如何啟用組織管理角色群組的詳細資訊,請參閱管理 Exchange Online 中的角色群組。
在 Exchange 2010 中,您必須是組織管理或伺服器管理 RBAC 角色群組的成員。 如需詳細資訊,請參閱將成員新增至角色群組。
開始公用資料夾移轉之前,如果您組織中的任何單一公用資料夾大於 25 GB,建議您刪除該資料夾中的內容,使其變小。 或者,我們建議您將公用資料夾的內容分割成多個較小的公用資料夾。 此處所述的 25 GB 限制僅適用於公用資料夾,不適用於任何子資料夾或子資料夾。 如果兩個選項都不可行,建議您不要將公用資料夾移至 Exchange Online。 如需詳細資訊,請參閱 Exchange Online 限制。
提示
如果您目前在 Exchange Online 中的公用資料夾配額小於 25 GB,您可以使用 Set-OrganizationConfig Cmdlet 來使用 和
DefaultPublicFolderProhibitPostQuota
參數來增加這些DefaultPublicFolderIssueWarningQuota
配額。如果您使用防火牆和訪問控制清單 (ACL) ,請確定您的區域中Microsoft 365 或 Office 365 所使用的IP範圍是透過防火牆所允許。
在 Microsoft 365、Office 365 和 Exchange Online 中,您可以建立最多 1,000 個公用資料夾信箱。
在移轉公用資料夾之前,建議您先將所有使用者信箱移至 Microsoft 365 或 Office 365 和 Exchange Online。 如需詳細資訊,請參閱將多個電子郵件帳戶移轉至 Microsoft 365 或 Office 365。 不過,您仍然需要在內部部署環境中保留 PF 系統管理員執行移轉的信箱,或建立新的 PF 系統管理員帳戶,並指派裝載於舊版 Exchange Server 的信箱。
需要在舊版 Exchange Server 上啟用 Outlook Anywhere。 如需在 Exchange 2010 伺服器上啟用 Outlook Anywhere 的詳細資訊,請參閱 啟用 Outlook Anywhere。
您無法使用 Exchange 系統管理中心 (EAC) 或 Exchange 管理主控台 (EMC) 執行此程序。 在舊版 Exchange 伺服器上,您需要使用 Exchange 管理命令介面。 對於 Exchange Online,您必須使用 Exchange Online PowerShell。 如需詳細資訊,請參閱<連線至 Exchange Online PowerShell>。
您必須使用單一移轉批次來遷移您的所有公用資料夾資料。 Exchange 只允許一次建立一個移轉批次。 如果您嘗試同時建立多個移轉批次,您會收到錯誤。
開始之前,建議您完整閱讀本文,因為某些步驟需要停機。
如需本文中可能套用至程序的鍵盤快捷方式相關信息,請參閱 Exchange 系統管理中心的鍵盤快捷方式。
確認是否已在組織層級 ()
Get-OrganizationConfig | Format-List DefaultPublicFolderAgeLimit
設定 DefaultPublicFolderAgeLimit,或您是否有針對個別公用資料夾設定任何 AgeLimit (Get-PublicFolder <FolderPath> | Format-List AgeLimit
) ,以便防止自動刪除內容。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 請造訪論壇:Exchange Online 或 Exchange Online Protection。
步驟 1:下載移轉指令碼
從 公用資料夾移轉腳本下載所有腳本和支援檔案。
將腳本儲存到您想要執行PowerShell的本機電腦。 例如,C:\PFScripts。 請確定所有的指令碼儲存在相同的位置。
從擁有郵件功能的公用資料夾-目錄同步處理指令碼下載下列檔案:
Sync-MailPublicFolders.ps1
SyncMailPublicFolders.strings.psd1
從 https://www.microsoft.com/download/details.aspx?id=100414下載來源端驗證文本。
將腳本儲存到您針對步驟 2 所執行的相同位置。 例如,C:\PFScripts。
步驟 2:準備移轉
先執行下列必要步驟,再開始移轉。
注意事項
強烈建議您從已安裝信箱角色的內部部署 Exchange 2010 伺服器執行來源端驗證腳本。 腳本會掃描並報告已知會導致移轉速度變慢的問題,以及修正這些問題的指引。 使用 此處所述的範例。
一般先決條件步驟
- 請確定 Active Directory 中沒有孤立的公用資料夾郵件物件,這表示 Active Directory 中的物件沒有對應的 Exchange 物件。
- 確認在 Active Directory 中為公用資料夾設定的 SMTP 電子郵件位址符合 Exchange 物件上的 SMTP 電子郵件位址。
- 請確定 Active Directory 中沒有重複的公用資料夾物件,以避免兩個或多個 Active Directory 物件指向具有相同郵件功能的公用資料夾。
舊版 Exchange 伺服器上的必要步驟
注意事項
強烈建議您從已安裝信箱角色的內部部署 Exchange 2010 伺服器執行來源端驗證腳本。 腳本會掃描並報告已知會導致移轉速度變慢的問題,以及修正這些問題的指引。 使用 此處所述的範例。 腳本會執行下列所有必要條件。
在舊版 Exchange 伺服器上,請確定路由傳送至雲端中已啟用郵件功能的公用資料夾會繼續運作,直到透過因特網的所有 DNS 快取更新為指向您組織現在所在的雲端 DNS 為止。 執行下列命令,以已知名稱設定可正確地將電子郵件訊息路由傳送至雲端網域的已接受網路變數。
New-AcceptedDomain -Name "PublicFolderDestination_78c0b207_5ad2_4fee_8cb9_f373175b3f99" -DomainName <target domain> -DomainType InternalRelay
例如:
New-AcceptedDomain -Name PublicFolderDestination_78c0b207_5ad2_4fee_8cb9_f373175b3f99 -DomainName 'contoso.mail.onmicrosoft.com' -DomainType InternalRelay
如果內部部署環境中已有已接受的網域,請將它重新命名為PublicFolderDestination_78c0b207_5ad2_4fee_8cb9_f373175b3f99,並讓其他屬性保持不變。
若要檢查接受的網域是否已存在於您的內部部署環境中,請執行下列命令:
Get-AcceptedDomain | Where {$_.DomainName -eq "<target domain>"}
若要將接受的網域重新命名為 PublicFolderDestination_78c0b207_5ad2_4fee_8cb9_f373175b3f99,請執行下列命令:
Get-AcceptedDomain | Where {$_.DomainName -eq "<target domain>"} | Set-AcceptedDomain -Name PublicFolderDestination_78c0b207_5ad2_4fee_8cb9_f373175b3f99
如果您預期 Exchange Online 中擁有郵件功能的公用資料夾會從網際網路收到外部電子郵件,您必須在 Exchange Online 和 Exchange Online Protection (EOP) 中停用「目錄架構邊緣封鎖 (DBEB)」。 如需詳細資訊,請參閱 使用目錄型 Edge 封鎖 來拒絕傳送給無效收件者的訊息。
如果公用資料夾的名稱包含反斜杠 ( ) \ 或正斜線 ( ) / ,則發生移轉時,可能會在父公用資料夾中建立公用資料夾。 移轉之前,建議您重新命名名稱中有反斜杠或正斜線的任何公用資料夾。
在 Exchange 2010 中,想要找到名稱包含反斜線的公用資料夾,可執行下列命令:
Get-PublicFolderStatistics -ResultSize Unlimited | Where {($_.Name -like "*\*") -or ($_.Name -like "*/*") } | Format-List Name,Identity
如果傳回任何公用資料夾,可以執行下列命令將其重新命名:
Set-PublicFolder -Identity <public folder identity> -Name <new public folder name>
請確定沒有任何先前移轉成功的記錄。 如果有,您必須將該值設定為
$false
。 否則,移轉要求將會失敗。以下範例會檢查公用資料夾移轉狀態。
Get-OrganizationConfig | Format-List PublicFoldersLockedforMigration,PublicFolderMigrationComplete
只有當您正在嘗試先前失敗的移轉時,才需要此步驟。
如果 PublicFoldersLockedforMigration 或 PublicFolderMigrationComplete 屬性的狀態為
$true
,請執行下列命令,將值設定為$false
。Set-OrganizationConfig -PublicFoldersLockedforMigration:$false -PublicFolderMigrationComplete:$false
重要事項
重設這些屬性之後,您必須等候 Exchange 偵測新的設定。 此結果可能需要兩個小時才能完成。
為了在移轉結束時進行驗證,建議您先在舊版 Exchange 伺服器上執行下列 Exchange 管理命令介面命令,以擷取目前公用資料夾部署的快照集。
執行下列命令以擷取原始來源資料夾結構的快照。
Get-PublicFolder -Recurse -ResultSize Unlimited | Export-CliXML C:\PFMigration\Legacy_PFStructure.xml
執行下列命令以擷取公用資料夾統計資料的快照,例如項目計數、大小、擁有者。
Get-PublicFolderStatistics -ResultSize Unlimited | Export-CliXML C:\PFMigration\Legacy_PFStatistics.xml
執行下列命令以擷取權限的快照。
Get-PublicFolder -Recurse -ResultSize Unlimited | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\Legacy_PFPerms.xml
儲存來自前述命令的資訊,以便在移轉結束時進行比較。
如果您使用 Microsoft Entra Connect (Microsoft Entra Connect) 來同步處理內部部署目錄與 Microsoft Entra ID,如果您不是使用 Microsoft Entra Connect,則必須執行下列 (,您可以略過此步驟) :
在內部部署計算機上,開啟 Microsoft Entra Connect],然後選取 [設定]。
在 [ 其他工作] 畫面上,選取 [ 自定義同步處理選項],然後選取 [ 下一步]。
在 [連線到 Microsoft Entra ID] 畫面上,輸入適當的認證,然後選取 [下一步]。 線上之後,請繼續選取 [ 下一步 ],直到您在 [選用功能] 畫面上。
請確定未選取 [Exchange Mail 公用資料夾 ]。 如果未選取,您可以繼續進行下一節。 如果已選取,請清除複選框,然後選取 [ 下一步]。
注意事項
如果您在 [選用功能] 畫面上看不到 [Exchange Mail 公用資料夾] 選項,您可以結束 [連線 Microsoft Entra 並繼續進行下一節。
清除 [Exchange Mail 公用資料夾 ] 選取項目之後,請繼續選取 [ 下一步 ],直到您在 [ 準備 設定] 畫面上,然後選取 [設定 ]。
如需詳細的語法和參數資訊,請參閱下列文章:
- New-AcceptedDomain
- Get-PublicFolder
- Get-PublicFolderDatabase
- Set-PublicFolder
- Get-PublicFolderStatistics
- Get-PublicFolderClientPermission
- Get-OrganizationConfig
- Set-OrganizationConfig
雲端中的必要條件步驟
確定目前沒有任何公用資料夾移轉要求。 如果有,請加以清除,否則移轉要求將會失敗。 在所有情況下都不需要此步驟;只有當您認為管線中可能有現有的移轉要求時,才需要這麼做。
重要事項
拿掉移轉要求之前,請務必瞭解為何有現有的移轉要求。 下列命令會決定先前提出要求的時間,並協助您診斷可能發生的任何問題。 您可能需要與組織中的其他系統管理員通訊,以判斷進行變更的原因。
下列範例會探索任何現有的批次移轉要求:
$batch = Get-MigrationBatch | Where-Object {$_.MigrationType.ToString() -eq "PublicFolder"}
下列範例會移除任何現有的公用資料夾批次移轉要求。
$batch | Remove-MigrationBatch -Confirm:$false
確認雲端中沒有公用資料夾或公用資料夾信箱。
重要事項
如果您在雲端中看到公用資料夾,請務必先判斷它們存在的原因,以及在移除公用資料夾和公用資料夾信箱之前啟動公用資料夾階層的人員。
在 Exchange Online PowerShell 中,執行下列命令,以查看是否有任何公用資料夾信箱存在:
Get-Mailbox -PublicFolder
如果命令未傳回任何公用資料夾信箱,請繼續進行 步驟 3:產生 .csv 檔案。 如果命令傳回任何公用資料夾信箱,請執行下列命令,以查看是否有任何公用資料夾存在:
Get-PublicFolder
如果您在雲端中有任何公用資料夾,請在 Exchange Online PowerShell 中執行下列命令來移除它們。 請確定您已儲存雲端式公用資料夾中的任何資訊。
注意
當您移除公用資料夾時,會永久刪除公用資料夾中包含的所有資訊。
Get-MailPublicFolder | where {$_.EntryId -ne $null}| Disable-MailPublicFolder -Confirm:$false Get-PublicFolder -GetChildren \ | Remove-PublicFolder -Recurse -Confirm:$false
拿掉公用資料夾之後,請執行下列命令來移除所有公用資料夾信箱。
$hierarchyMailboxGuid = $(Get-OrganizationConfig).RootPublicFolderMailbox.HierarchyMailboxGuid
Get-Mailbox -PublicFolder:$true | Where-Object {$_.ExchangeGuid -ne $hierarchyMailboxGuid} | Remove-Mailbox -PublicFolder -Confirm:$false
Get-Mailbox -PublicFolder:$true | Where-Object {$_.ExchangeGuid -eq $hierarchyMailboxGuid} | Remove-Mailbox -PublicFolder -Confirm:$false
如需詳細的語法和參數資訊,請參閱下列文章:
- Get-MigrationBatch
- Get-PublicFolderMailboxMigrationRequest
- Remove-PublicFolderMailboxMigrationRequest
- Get-Mailbox
- Get-PublicFolder
- get-MailPublicFolder
- Disable-MailPublicFolder
- remove-PublicFolder
- Remove-Mailbox
步驟 3:產生 .csv 檔案
在舊版 Exchange 伺服器上,執行
Export-PublicFolderStatistics.ps1
腳本來建立資料夾名稱對資料夾大小對應檔案。 本機系統管理員必須執行此腳本。 檔案包含兩個數據行: FolderName 和 FolderSize。 FolderSize 數據行會以位元組顯示。 For example, \PublicFolder01,10000..\Export-PublicFolderStatistics.ps1 <Folder to size map path> <FQDN of source server>
FQDN of source server 等於主控公用資料夾階層的信箱伺服器之完整網域名稱。
Folder to size map path 等於您要在網路共用資料夾上儲存 .csv 檔案的檔案名稱和路徑。 在本文稍後,您必須使用 Exchange Online PowerShell 來存取此檔案。 如果您只指定檔名,則檔案會在本機計算機的目前 PowerShell 目錄中產生。
如有必要,請先從腳本輸出中移除任何擁有郵件功能的系統資料夾,再繼續進行。
PublicFolderToMailboxMapGenerator.ps1
執行文本以建立公用資料夾對信箱對應檔案。 此檔案用於計算 Exchange Online 中正確的公用資料夾信箱數目。.\PublicFolderToMailboxMapGenerator.ps1 <Maximum mailbox size in bytes> <Folder to size map path> <Folder to mailbox map path>
執行文稿之前,請使用下列命令來檢查您 Exchange Online 租使用者中的目前公用資料夾限制。 然後,記下公用資料夾目前的配額值。
Get-OrganizationConfig | Format-List *quota*
在 Exchange Online 中,DefaultPublicFolderIssueWarningQuota 的預設值為 1.7 GB,DefaultPublicFolderProhibitPostQuota 的預設值為 2 GB。
信箱大小上限,以位元組 為單位,等於您要為新的公用資料夾信箱設定的大小上限。 在 Exchange Online 中,公用資料夾信箱的大小上限為100 GB。 建議您使用 75 GB 的設定,讓每個公用資料夾信箱都有成長的空間。 公用資料夾信箱較少表示 Outlook 用戶端的連線較少,有助於避免效能問題。 位置對於使用者而言是透明的,因為他們在用戶端上看到相同的階層。 Exchange Online 的預設公用資料夾「禁止張貼」配額為 2 GB。 如果您有大於 2 GB 的個別公用資料夾,您可以使用下列任何選項來修正此問題:
開始移轉批次之前,請執行下列命令來增加預設公用資料夾「禁止張貼」配額:
Set-OrganizationConfig -DefaultPublicFolderProhibitPostQuota <size value> -DefaultPublicFolderIssueWarningQuota <size value>
開始移轉批次之前,請先刪除公用資料夾內容,將內容大小縮減為 2 GB 或更小。
開始移轉批次之前,請將公用資料夾分割成每個 2 GB 或更少的多個公用資料夾。
注意事項
如果公用資料夾大於 30 GB,而且無法刪除內容或將其分割成多個公用資料夾,建議您不要將公用資料夾移至 Exchange Online。
大小對應路徑的資料夾 等於您執行腳本時所建立 .csv 檔案的
Export-PublicFolderStatistics.ps1
檔案路徑。信箱 對應路徑的資料夾等於您在此步驟中建立的資料夾對信箱 .csv 檔的檔名和路徑。 如果您只指定檔名,則檔案會在本機計算機的目前 PowerShell 目錄中產生。
注意事項
執行文稿併產生 .csv 檔案之後,就不會收集任何新的公用資料夾或現有公用資料夾的更新。
步驟 4:在 Exchange Online 中建立公用資料夾信箱
執行下列命令來建立目標公用資料夾信箱。 腳本會藉由執行 PublicFoldertoMailboxMapGenerator.ps1
腳本,為您先前在步驟 3 中產生的 .csv 檔案中的每個信箱建立目標信箱。
.\Create-PublicFolderMailboxesForMigration.ps1 -FolderMappingCsv Mapping.csv -EstimatedNumberOfConcurrentUsers:<estimate>
Mapping.csv 是步驟 3 中的腳本所 PublicFoldertoMailboxMapGenerator.ps1
產生的檔案。 流覽公用資料夾階層的用戶連線預估數目通常小於組織中的用戶總數。
注意事項
使用 Exchange Online PowerShell 來執行此腳本。 如需詳細資訊,請參閱<連線至 Exchange Online PowerShell>。
步驟 5:啟動移轉要求
在 Exchange 伺服器上執行下列步驟,以滿足執行 Sync-MailPublicFolders.ps1 腳本的必要條件。
使用具有企業系統管理員許可權的帳戶登入。
安裝EXO PowerShell,如安裝和維護 Exchange Online PowerShell 模組中所述。
以系統管理員模式啟動PowerShell。
執行下列命令以啟動同步處理:
Add-PSSnapin *exchange* | .\Sync-MailPublicFolders.ps1 -CsvSummaryFile:sync_summary.csv
出現提示后,輸入Microsoft 365 租用戶系統管理員帳戶的認證。
在舊版 Exchange Server 上,取得執行移轉要求所需的下列資訊:
LegacyExchangeDN
尋找屬於公用資料夾系統管理員角色成員之使用者帳戶的 。 此帳戶與您在此程式步驟 3 中需要認證的使用者相同。注意事項
使用的帳戶必須在內部部署 Exchange Server 中啟用信箱。 如果公用資料夾系統管理員帳戶不存在,請為該帳戶建立新的內部部署信箱。
Get-Mailbox <PublicFolder_Administrator_Account> | Select-Object LegacyExchangeDN
LegacyExchangeDN
尋找任何具有公用資料夾資料庫之信箱伺服器的 。Get-ExchangeServer <public folder server> | Select-Object -Expand ExchangeLegacyDN
尋找 Outlook Anywhere 主機名的 FQDN。 如果您有多個 Outlook Anywhere 實例,建議您選取最接近移轉端點的實例,或是最接近舊版 Exchange 組織中公用資料夾複本的實例。 下列命令會尋找 Outlook Anywhere 的所有實例:
Get-OutlookAnywhere | Format-Table Identity,ExternalHostName
在 Exchange Online PowerShell 中,執行下列命令,將上一個步驟中傳回的信息傳遞至移轉要求中使用的變數。
將具有舊版 Exchange Server 系統管理權限之使用者的認證傳遞至 變數
$Source_Credential
。 在 Exchange Online 中執行的移轉要求會使用此認證來取得舊版 Exchange 伺服器的存取權,以複製內容。$Source_Credential = Get-Credential <source_domain\PublicFolder_Administrator_Account>
ExchangeLegacyDN
在您在步驟 2a 中找到的舊版 Exchange Server 上使用移轉使用者的 ,並將它傳遞至變數$Source_RemoteMailboxLegacyDN
。$Source_RemoteMailboxLegacyDN = "<paste the value here>"
ExchangeLegacyDN
使用您在上述步驟 2b 中找到的公用資料夾伺服器,並將它傳遞至變數$Source_RemotePublicFolderServerLegacyDN
。$Source_RemotePublicFolderServerLegacyDN = "<paste the value here>"
使用您在上述步驟 2c 中找到的 Outlook Anywhere 外部主機名,並將它傳遞至變數
$Source_OutlookAnywhereExternalHostName
。$Source_OutlookAnywhereExternalHostName = "<paste the value here>"
最後,在 Exchange Online PowerShell 中,執行下列命令來建立移轉要求。
注意事項
下列範例中的驗證方法必須符合您的 Outlook Anywhere 設定。 否則,命令會失敗。
$PfEndpoint = New-MigrationEndpoint -PublicFolder -Name PublicFolderEndpoint -RPCProxyServer $Source_OutlookAnywhereExternalHostName -Credentials $Source_Credential -SourceMailboxLegacyDN $Source_RemoteMailboxLegacyDN -PublicFolderDatabaseServerLegacyDN $Source_RemotePublicFolderServerLegacyDN -Authentication Basic $bytes = [System.IO.File]::ReadAllBytes('folder_mapping.csv') New-MigrationBatch -Name PublicFolderMigration -CSVData $bytes -SourceEndpoint $PfEndpoint.Identity -NotificationEmails <email addresses for migration notifications>
其中
folder_mapping.csv
是 步驟 3:產生 .csv 檔中產生的對應檔案。注意事項
您可能會注意到上述命令失敗,並出現錯誤「找不到具有信箱 GUID 的收件者」錯誤,且 EXO 中已提及公用資料夾信箱的 GUID。 此問題可能是由AD複寫延遲所造成。 等候一小時,然後重試命令。
使用下列指令開始移轉:
Start-MigrationBatch PublicFolderMigration
雖然必須使用 Exchange 管理命令介面中的 New-MigrationBatch Cmdlet 來建立批次移轉,但可以在 EAC 中檢視和管理移轉的進度和完成。 Because the New-MigrationBatch cmdlet initiates a mailbox migration request for each public folder mailbox, you can view the status of these requests using the mailbox migration page. 您可以前往信箱移轉頁面,並建立可透過電子郵件傳送給您的移轉報告,方法是執行下列動作:
登入 Exchange Online 並開啟 EAC。
流覽至 [信箱>移轉]。
選取剛才建立的移轉要求,然後在 [詳細數據] 窗格中選取 [檢視詳細數據]。
如需詳細的語法和參數資訊,請參閱下列文章:
步驟 6:鎖定舊版 Exchange 伺服器上的公用資料夾以進行最終移轉 (需停機)
到移轉的這個時間點為止,使用者仍然可以存取公用資料夾。 後續步驟會中斷使用者與舊版公用資料夾的連線,並在移轉完成最終同步處理時鎖定資料夾。 用戶無法在此程式中存取公用資料夾。 此外,任何傳送至擁有郵件功能的公用資料夾的郵件都會排入佇列,而且在公用資料夾移轉完成之前不會傳遞。
注意事項
最終同步處理可能需要相當長的時間,視來源環境的變更、公用資料夾部署的大小、伺服器容量等而定。開始移轉之前,若未清除資料夾階層中大量損毀的 ACL,可能會造成嚴重的延遲。 建議您至少規劃 48 小時的停機時間,以完成最終同步處理。
確定移轉批次和個別移轉要求已成功同步處理。
在 Exchange Online PowerShell 中執行下列命令以取得詳細資料:
Get-MigrationBatch | Where-Object {$_.MigrationType -like "*PublicFolder*"} | Format-Table *last*sync*
Get-PublicFolderMailboxMigrationRequest | Get-PublicFolderMailboxMigrationRequestStatistics | Format-Table targetmailbox,*last*sync*
個別作業的移轉批次) 和 LastSuccessfulSyncTimestamp 上的 LastSyncedDate ( () 應在過去七天內。 如果太過遠,例如超過一個月,您可能想要查看公用資料夾移轉要求,並確定所有要求最近都已同步處理。
確認批次且所有移轉要求都已成功同步處理之後,請在舊版 Exchange 伺服器上執行下列命令來鎖定舊版公用資料夾以進行完成。
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
如需詳細的語法及參數資訊,請參閱 set-OrganizationConfig。
如果您的組織有多個公用資料夾資料庫,您必須等到公用資料夾複寫完成,以確認所有公用資料夾資料庫都已挑選 PublicFoldersLockedForMigration
旗標,而且使用者最近對資料夾所做的任何擱置變更都已聚合整個組織。 此程式需要數小時的時間。
步驟 7:完成公用資料夾移轉 (需要停機)
若要完成公用資料夾移轉,請執行下列命令:
Complete-MigrationBatch PublicFolderMigration
重要事項
在移轉批次完成之後,就無法同步處理 Exchange 伺服器內部部署與 Exchange Online 的額外資料。
當您完成移轉時,Exchange 會在舊版 Exchange Server 與 Exchange Online 之間執行最終同步處理。 如果最終同步處理成功,Exchange Online 中的公用資料夾會解除鎖定,且移轉批次的狀態會變更為 [已完成]。 移轉批次的狀態通常會在切換至 [完成] 之前保持「已同步」數小時。 針對涉及大量目標信箱的移轉,如果沒有任何基礎公用資料夾移轉要求失敗或遭到隔離,則一般會看到狀態維持「同步處理」狀態超過 24 小時。
如果您已在內部部署 Exchange 伺服器與 Microsoft 365 或 Office 365 之間設定混合式部署,則在移轉完成後,您必須在 Exchange Online PowerShell 中執行下列命令:
Set-OrganizationConfig -RemotePublicFolderMailboxes $Null -PublicFoldersEnabled Local
步驟 8:測試並解除鎖定公用資料夾移轉
完成公用資料夾移轉後,應該執行下列測試以確定移轉成功。 這可讓您在切換至使用雲端中的公用資料夾之前,先測試已移轉的公用資料夾階層。
在 Exchange Online PowerShell 中,指派一些測試信箱,以使用任何新移轉的公用資料夾信箱作為預設公用資料夾信箱。
Set-Mailbox -Identity <Test User> -DefaultPublicFolderMailbox <Public Folder Mailbox Identity>
使用上一個步驟中識別的測試使用者登入 Outlook 2010 或更新版本,然後執行下列公用資料夾測試:
- 檢視階層。
- 檢查權限。
- 建立與刪除公用資料夾。
- 張貼內容至公用資料夾以及刪除公用資料夾的內容。
如果您遇到任何問題,請參閱本文稍後 的復原移 轉。 如果公用資料夾內容和階層可接受且如預期般運作,請繼續進行下一個步驟。
在舊版 Exchange 伺服器上,執行下列命令列以指出公用資料夾移轉完成:
Set-OrganizationConfig -PublicFolderMigrationComplete:$true
確認移轉完成之後,請在 Exchange Online PowerShell 中執行下列命令,以確定 Set-OrganizationConfig 上的 PublicFoldersEnabled 參數已設定為
Local
:Set-OrganizationConfig -PublicFoldersEnabled Local
如需詳細的語法和參數資訊,請參閱下列文章:
如何知道這是否正常運作?
在步驟 2:準備移轉中,曾指示您在移轉開始之前,擷取公用資料夾架構、統計資料與權限的快照。 下列步驟可協助確認您的公用資料夾移轉已成功,方法是在移轉完成後建立相同的快照集。 然後,您可以比較兩個檔案中的資料以驗證移轉是否成功。
在 Exchange Online PowerShell 中,執行下列命令以擷取新資料夾結構的快照集。
Get-PublicFolder -Recurse -ResultSize Unlimited | Export-CliXML C:\PFMigration\Cloud_PFStructure.xml
在 Exchange Online PowerShell 中,執行下列命令以擷取公用資料夾統計數據的快照集,例如項目計數、大小和擁有者。
Get-PublicFolderStatistics | Export-CliXML C:\PFMigration\Cloud_PFStatistics.xml
在 Exchange Online PowerShell 中,執行下列命令以擷取許可權的快照集。
Get-PublicFolder -Recurse -ResultSize Unlimited | Get-PublicFolderClientPermission | Select-Object Identity,User -ExpandProperty AccessRights | Export-CliXML C:\PFMigration\Cloud_PFPerms.xml
移除舊版 Exchange 伺服器上的公用資料夾資料庫
移轉完成之後,且您已確認 Exchange Online 公用資料夾如預期般運作,您應該移除舊版 Exchange 伺服器上的公用資料夾資料庫。
重要事項
由於在公用資料夾移轉之前,所有信箱都已移轉至 Microsoft 365 或 Office 365,因此強烈建議您透過 Microsoft 365 或 Office 365 路由傳送流量, (分散的郵件流程) ,而非透過內部部署環境的集中式郵件流程。 選擇讓郵件流程保持集中,可能會造成公用資料夾的傳遞問題,因為您已從內部部署組織移除公用資料夾信箱資料庫。
- 如需如何移除 Exchange 2010 伺服器上公用資料夾資料庫的詳細資訊,請參閱移除公用資料夾資料庫。
回復移轉
如果您在移轉時遇到問題,而且需要重新啟用舊版 Exchange 公用資料夾,請執行下列步驟。
注意
如果您將移轉回復到舊版 Exchange 伺服器,則會遺失任何傳送至啟用郵件功能的公用資料夾的電子郵件,或在移轉後張貼至公用資料夾的內容。 若要儲存此內容,您必須將公用資料夾內容匯出至 .pst 檔案,然後在復原完成時將它匯入至舊版公用資料夾。
在舊版 Exchange 伺服器上,執行下列命令解除鎖定舊版 Exchange 公用資料夾。 此程式可能需要數小時的時間。
Set-OrganizationConfig -PublicFoldersLockedForMigration:$False
在 Exchange Online PowerShell 中,執行下列命令以移除所有 Exchange Online 公用資料夾。
$hierarchyMailboxGuid = $(Get-OrganizationConfig).RootPublicFolderMailbox.HierarchyMailboxGuid Get-Mailbox -PublicFolder:$true | Where-Object {$_.ExchangeGuid -ne $hierarchyMailboxGuid} | Remove-Mailbox -PublicFolder -Confirm:$false -Force Get-Mailbox -PublicFolder:$true | Where-Object {$_.ExchangeGuid -eq $hierarchyMailboxGuid} | Remove-Mailbox -PublicFolder -Confirm:$false -Force
在舊版 Exchange Server 上,執行下列命令,將旗標設定
PublicFolderMigrationComplete
為$false
。Set-OrganizationConfig -PublicFolderMigrationComplete:$False
使用 Outlook PST 匯出將公用資料夾移轉至 Microsoft 365 或 Office 365
如果您的內部部署公用資料夾階層大於 30 GB,建議您不要使用 Outlook 的 PST 導出功能將公用資料夾移轉至雲端。 Microsoft 365 和 Office 365 在線公用資料夾信箱成長是使用自動分割功能來管理,此功能會在超過大小配額時分割公用資料夾信箱。 當您使用 PST 匯出來移轉公用資料夾時,自動分割無法處理公用資料夾信箱的突然成長,而您可能必須等候長達兩週,自動分割才能將資料從主要信箱移走。 此外,使用 Outlook PST 將公用資料夾匯出至雲端之前,請考慮下列事項:
在此程式期間,公用資料夾許可權會遺失。 在移轉之前擷取目前的許可權,並在移轉完成後手動將其新增回來。
如果您使用複雜的許可權或有許多要移轉的資料夾,建議您使用 Cmdlet 方法進行移轉。
在 PST 匯出移轉期間,對來源公用資料夾所做的任何專案和資料夾變更都會遺失。 因此,如果此匯出和匯入程式需要很長的時間才能完成,建議您使用 Cmdlet 方法。
如果您仍然想要使用 PST 檔案移轉公用資料夾,請遵循下列步驟來確保移轉成功。
使用 步驟 1:下載移轉腳本 中的指示來下載移轉腳本。 您只需要下載
PublicFolderToMailboxMapGenerator.ps1
檔。遵循 步驟 3:產生 .csv 檔案 的步驟 2,以建立公用資料夾到信箱的對應檔案。 此檔案用於計算 Exchange Online 中正確的公用資料夾信箱數目。
根據對應檔案建立所需的公用資料夾信箱。 如需詳細資訊,請參閱建立公用資料夾信箱。
使用 New-PublicFolder Cmdlet,使用 Mailbox 參數,在每個公用資料夾信箱中建立最上層的公用資料夾。
使用 Outlook 匯出及匯入 PST 檔案。
使用 EAC 設定公用資料夾的許可權。 如需詳細資訊,請參閱 步驟 3:將許可權指派給公用資料夾。
重要事項
如果您已開始 PST 移轉,並遇到主要信箱已滿的問題,您有兩個選項可復原 PST 移轉:
- 等待自動分割將資料從主要信箱移出。 此程式最多可能需要兩周的時間。 不過,在自動分割完成之前,完全填滿公用資料夾信箱中的所有公用資料夾都無法接收新內容。
- 建立公用資料夾信箱 ,然後使用 New-PublicFolder Cmdlet 搭配 Mailbox 參數,在次要公用資料夾信箱中建立剩餘的公用資料夾。
針對公用資料夾移轉進行疑難解答
針對公用資料夾移轉期間的常見問題,選取下列按鈕:
飛出視窗頁面會在 Microsoft 365 系統管理中心 中開啟,使用您的租用戶系統管理員帳戶登入,然後選取適當的選項。