使用批次移轉將 Exchange Online 公用資料夾移轉至 Microsoft 365 群組

摘要:如何將 Exchange Online 公用資料夾移至 Microsoft 365 群組。

透過稱為批次移轉的程式,您可以將部分或所有 Exchange Online 公用資料夾移至 Microsoft 365 群組。 群組是 Microsoft 提供的新共同作業供應專案,可提供公用資料夾的特定優點。 如需公用資料夾和群組之間差異的概觀,以及貴組織為何切換至群組可能獲益的原因,請參閱將公用資料夾移轉至 Microsoft 365 群組

本文包含執行實際的批次移轉 Exchange Online 公用資料夾的逐步程序。

開始之前有哪些須知?

開始準備移轉前,確定下列所有條件都符合。

  • 目前只能將行事曆和郵件類型的公用資料夾移轉至 Microsoft 365 群組;不支援其他公用資料夾類型的移轉。 此外,目標 Microsoft 365 群組應該會在移轉之前存在。

  • Microsoft 365 群組 不支援公用資料夾中可用的許可權角色和訪問許可權。 在 Microsoft 365 群組 中,會將使用者指定為成員擁有者

  • 批次移轉程式只會從公用資料夾複製訊息和行事曆專案,以移轉至 Microsoft 365 群組。 它不會複製其他類型的公用資料夾內容,例如規則和許可權,因為 Microsoft 365 群組 不支援該類型的內容。

  • Microsoft 365 群組 隨附 50 GB 信箱。 請確定您要移轉的公用資料夾資料總和小於 50 GB。 此外,保留儲存空間以供未來新增內容。 建議您移轉總大小不超過 25 GB 的公用資料夾。

  • 此移轉並非「全部或全無」。 您可以挑選要移轉的特定公用資料夾,而且只會移轉這些公用資料夾。 如果要移轉的公用資料夾有子資料夾,這些子資料夾將不會自動包含在移轉中。 如果您需要移轉這些,您需要明確納入它們。

  • 將公用資料夾將不會受到任何方式此移轉。 不過,一旦您使用我們的鎖定腳本將移轉的公用資料夾設為唯讀,系統就會強制您的使用者使用 Microsoft 365 群組 而非公用資料夾。

  • 使用單一移轉批次來移轉所有公用資料夾數據。 Exchange 只允許一次建立一個移轉批次。 如果您嘗試同時建立多個移轉批次,則結果會出現錯誤。

  • 開始之前,建議您閱讀本文全文,因為部分步驟需要停機。

步驟 1:取得指令碼

批次移轉至 Microsoft 365 群組 需要在移轉的不同點執行多個腳本,如本文所述。 下載指令碼和其支援的檔案從這個位置。 下載所有指令碼和檔案之後,請將其儲存至相同的位置,例如 c:\PFtoGroups\Scripts

再繼續執行,確認您已下載並儲存的所有下列指令碼及檔案:

注意事項

請確定所有指令碼檔案儲存到相同位置。

  • AddMembersToGroups.ps1:根據來源公用資料夾中的許可權專案,將成員和擁有者新增至 Microsoft 365 群組。

  • AddMembersToGroups.strings.psd1:腳本所 AddMembersToGroups.ps1 使用的支持檔案。

  • LockAndSavePublicFolderProperties.ps1:將公用資料夾設為只讀,以防止任何修改,而且會傳送郵件相關的公用資料夾屬性 (前提是公用資料夾已啟用郵件功能) 至目標組,這會將電子郵件從公用資料夾重新路由傳送到目標組。 此指令碼也會在修改之前備份權限項目和郵件屬性。

  • LockAndSavePublicFolderProperties.strings.psd1:腳本所 LockAndSavePublicFolderProperties.ps1 使用的支持檔案。

  • UnlockAndRestorePublicFolderProperties.ps1:使用 所 LockandSavePublicFolderProperties.ps1建立的備份檔,還原公用資料夾的訪問許可權和郵件屬性。

  • UnlockAndRestorePublicFolderProperties.strings.psd1:腳本所 UnlockAndRestorePublicFolderProperties.ps1 使用的支持檔案。

  • WriteLog.ps1:允許 AddMembersToGroups.ps1LockAndSavePublicFolderProperties.ps1UnlockAndRestorePublicFolderProperties.ps1 文稿寫入記錄。

  • RetryScriptBlock.ps1:允許 AddMembersToGroupsLockAndSavePublicFolderPropertiesUnlockAndRestorePublicFolderProperties 腳稿在遇到暫時性錯誤時重試某些動作。

如需 AddMembersToGroups.ps1LockAndSavePublicFolderProperties.ps1UnlockAndRestorePublicFolderProperties.ps1 文稿的詳細資訊,以及它們在您的環境中執行的工作,請參閱本文稍後 的移轉腳本 一節。

步驟 2:準備移轉

下列步驟所需準備您的組織進行移轉:

  1. 編譯您要移轉至 Microsoft 365 群組 之郵件和行事曆類型) (公用資料夾清單。

  2. 必須針對每個要移轉的公用資料夾的對應目標群組的清單。 您可以在 Office 365 中建立新群組的每個公用資料夾或使用現有的群組。 如果您要建立新的群組,請參閱瞭解 Microsoft 365 群組,以瞭解群組必須擁有的設定。 如果您要移轉的公用資料夾的預設許可權設定為 [作者] 或更新版本,您應該使用 [公用隱私權] 設定在 Office 365 中建立對應的群組。 不過,若要讓使用者在 Outlook 的 [群 ] 節點下看到公用群組,他們仍必須加入群組。

  3. 重新命名名稱中包含反斜杠 () \ 的任何公用資料夾。 Otherwise, those public folders may not get migrated correctly.

  4. 您必須為組織啟用移轉功能名稱PAW。 若要確認已啟用PAW,請在 Exchange Online PowerShell 中執行下列命令:

    Get-MigrationConfig
    

    如果 [ 功能] 底下的輸出列出 PAW,則會啟用此功能,您可以繼續。

    如果您有任何現有的使用者或公用資料夾移轉批次處於任何狀態 (包括 已完成) ,則不會啟用 PAW 。 完成任何移除任何現有的移轉批次,直到 輸出 Get-MigrationBatch中未傳回任何記錄為止。 拿掉所有現有的移轉批次之後,應該會自動啟用PAW。 變更可能不會立即反映在 中 Get-MigrationConfig

    完成此步驟後,您可以繼續建立使用者移轉的新批次。

步驟 3:建立 .csv 檔案

建立 .csv 檔案,以提供其中一個移轉腳本的輸入。

.Csv 檔案必須包含下列資料行:

  • FolderPath。 要移轉的公用資料夾的路徑。

  • TargetGroupMailbox。 目標 Microsoft 365 群組的 SMTP 位址。 您可以執行下列命令,請參閱的主要 SMTP 位址。

    Get-UnifiedGroup <alias of the group> | Format-Table PrimarySmtpAddress
    

範例.csv:

"FolderPath","TargetGroupMailbox"
"\Sales","sales@contoso.onmicrosoft.com"
"\Sales\EMEA","emeasales@contoso.onmicrosoft.com"

您可以將郵件資料夾和行事曆資料夾合併成單一 Microsoft 365 群組。 不過,合併成一個群組的多個公用資料夾的任何其他案例不支援內的單一遷移批次。 如果您需要將多個公用資料夾對應至相同的 Microsoft 365 群組,請連續執行個別的移轉批次,一個接一個。 您可以在每一個遷移批次中有最多 500 個項目。

某個公用資料夾應移轉至一個遷移批次中只有一個群組。

步驟 4:啟動移轉要求

在此步驟中,您收集資訊從 Exchange 環境,而且再使用該資訊Exchange Online PowerShell中建立遷移批次。 之後,您可以啟動移轉。

  1. 在 Exchange Online PowerShell 中,執行下列命令以建立新的公用資料夾到 Microsoft 365 群組移轉批次。

    New-MigrationBatch -Name PublicFolderToGroupMigration -CSVData ([System.IO.File]::ReadAllBytes('<path to .csv file>')) -PublicFolderToUnifiedGroup [-AutoStart]
    

    在這個命令中:

    • CSVData 是在上面「步驟 3:建立 .csv 檔案」中建立的 .csv 檔案。 請務必提供此檔案的完整路徑。 若檔案已移動有任何原因,請務必確認和使用新的位置。
    • AutoStart 是選擇性參數,會在移轉批次建立后立即啟動。
    • PublicFolderToUnifiedGroup 指出這是要 Microsoft 365 群組 移轉批次的公用資料夾。
  2. 如果您未在第一個命令中使用 AutoStart 參數,請在 Exchange Online PowerShell 中執行下列命令來開始移轉:

    Start-MigrationBatch PublicFolderToGroupMigration
    

雖然需要在 Exchange Online PowerShell 中使用 New-MigrationBatch Cmdlet 建立批次移轉,但可在 Exchange 系統管理中心檢視及管理移轉進度。 執行 Get-MigrationBatchGet-MigrationUser Cmdlet,也可以檢視移轉進度。 此 New-MigrationBatch Cmdlet 會為每個 Microsoft 365 群組信箱起始移轉使用者,而且您可以使用信箱移轉頁面來檢視這些要求的狀態。

若要檢視信箱移轉頁面:

  1. 在 Exchange Online 中,開啟 [ Exchange 系統管理中心]。

  2. 瀏覽至 [收件者],然後選取 [移轉]

  3. 選取剛建立的移轉要求,然後選取 [詳細資料] 窗格中的 [檢視詳細資料]

當批次狀態為 [已完成] 時,您可以移至 步驟 5:從公用資料夾將成員新增至 Microsoft 365 群組

步驟 5:從公用資料夾將成員新增至 Microsoft 365 群組

您可以視需要手動將成員新增至目標 Microsoft 365 群組。 不過,如果您想要根據公用資料夾中的許可權專案,將成員新增至群組,則必須執行腳本 AddMembersToGroups.ps1 ,如下列命令所示。 若要知道哪些公用資料夾許可權有資格新增為 Microsoft 365 群組的成員,請參閱本文稍後 的移轉腳本

在下列命令中:

  • MappingCsv 是在上面「步驟 3:建立 .csv 檔案」中建立的 .csv 檔案。 請務必提供此檔案的完整路徑。 若檔案已移動有任何原因,請務必確認和使用新的位置。

  • BackupDir是移轉記錄檔會儲存所在的目錄。

  • ArePublicFoldersOnPremises 是以指出公用資料夾是否位於內部部署或 Exchange Online 中的參數。

.\AddMembersToGroups.ps1 -MappingCsv <path to .csv file> -BackupDir <path to backup directory> -ArePublicFoldersOnPremises $false

一旦使用者新增至 Microsoft 365 群組,就可以開始使用它。

步驟 6:鎖定公用資料夾 (需公用資料夾停機)

當公用資料夾中的大部分資料已移轉至 Microsoft 365 群組 時,您可以執行腳本LockAndSavePublicFolderProperties.ps1,讓公用資料夾成為唯讀資料夾。 此步驟可確保沒有新的資料會新增至 [公用資料夾移轉完成之前。

注意事項

如果在要移轉的公用資料夾之間 (MEPFs) 具有郵件功能的公用資料夾,此步驟會將 MEPF 的某些屬性,例如 SMTP 位址複製到對應的 Microsoft 365 群組,然後以郵件方式停用公用資料夾。 因為移轉 MEPFs 將會停用之後執行此指令碼的您會啟動看不到傳送至 MEPFs 改用相對應的群組中接收電子郵件。 如需詳細資訊,請參閱本文稍後 的移轉腳本 一節。

在下列命令中:

  • MappingCsv 是在上面「步驟 3:建立 .csv 檔案」中建立的 .csv 檔案。 請務必提供此檔案的完整路徑。 若檔案已移動有任何原因,請務必確認和使用新的位置。

  • BackupDir 是儲存許可權專案、MEPF 屬性和移轉記錄檔之備份文件的目錄。 如果您需要回復至公用資料夾,此備份會很有用。

  • ArePublicFoldersOnPremises 是以指出公用資料夾是否位於內部部署或 Exchange Online 中的參數。

.\LockAndSavePublicFolderProperties.ps1 -MappingCsv <path to .csv file> -BackupDir <path to backup directory> -ArePublicFoldersOnPremises $false

步驟 7:完成公用資料夾以 Microsoft 365 群組 移轉

  1. 您的公用資料夾進行唯讀之後,您需要重新執行移轉。 您數據的最終增量複本需要此步驟。 您必須先執行下列命令來移除現有的批次,才能再次執行移轉:

    Remove-MigrationBatch <name of migration batch>
    
  2. 執行下列命令,以相同的 .csv 檔案建立新的批次:

    New-MigrationBatch -Name PublicFolderToGroupMigration -CSVData ([System.IO.File]::ReadAllBytes('<path to .csv file>')) -PublicFolderToUnifiedGroup [-NotificationEmails <email addresses for migration notifications>] [-AutoStart]
    

    在這個命令中:

    • CSVData 是在上面「步驟 3:建立 .csv 檔案」中建立的 .csv 檔案。 請務必提供此檔案的完整路徑。 若檔案已移動有任何原因,請務必確認和使用新的位置。
    • NotificationEmails是選擇性的參數可以用來將會收到相關的狀態與進度移轉之通知的電子郵件地址。
    • AutoStart 是選擇性參數,會在移轉批次建立后立即啟動。
  3. 如果您未在上一個命令中使用 AutoStart 參數,請在 Exchange Online PowerShell 中執行下列命令來開始移轉:

    Start-MigrationBatch PublicFolderToGroupMigration
    

    完成此步驟 (批次狀態為 [已 完成) 之後,請確認所有數據都已複製到 Microsoft 365 群組。 此時,如果您對群組體驗感到滿意,您可以開始從 Exchange Online 環境中刪除已移轉的公用資料夾。

重要事項

雖有支援的程序可將移轉復原及傳回公用資料夾,但是在刪除來源公用資料夾之後便不可行。 如需詳細資訊,請參閱 如何? 從 Microsoft 365 群組 回復至公用資料夾?

已知問題

在一般公用資料夾 Microsoft 365 群組 移轉期間,可能會發生下列問題:

  • 將 SMTP 位址從擁有郵件功能的公用資料夾傳送到 Microsoft 365 群組的腳本,只會將位址新增為 Exchange Online 中的次要電子郵件位址。 如果您已 Exchange Online Protection (EOP) ,或如果您使用集中式郵件流程,則在移轉後傳送電子郵件至 (次要電子郵件地址) 群組時會發生問題。
  • 如果.csv 對應檔案具有無效的公用資料夾路徑的項目,而不發生錯誤,遷移批次會顯示為 [ 已完成並沒有進一步的資料複製。

移轉指令碼

這一節深入說明三個移轉指令碼,以及其在 Exchange 環境中執行的工作,供您參考。 您可以下載所有指令碼及支援檔案從這個位置

AddMembersToGroups.ps1

此腳本會讀取要移轉之公用資料夾的許可權,然後將成員和擁有者新增至 Microsoft 365 群組,如下所示:

  • 具有下列許可權角色的使用者將會新增為 Microsoft 365 群組的成員。 權限的角色: 擁有者、 PublishingEditor、 編輯器、 PublishingAuthor、 作者

  • 除了上述專案之外,具有下列最低訪問許可權的使用者也會新增為 Microsoft 365 群組的成員。 存取權限: ReadItems、 CreateItems、 FolderVisible、 EditOwnedItems、 DeleteOwnedItems

  • 右作為擁有者群組新增 「 擁有者 」 與其他的合格的存取權限的使用者將會加入為成員的存取權的使用者。

  • 無法將安全組新增為 Microsoft 365 群組的成員。 因此,系統會擴充這些使用者,然後根據安全組的訪問許可權,將個別使用者新增為群組的成員或擁有者。

  • 當安全組中具有公用資料夾訪問許可權的使用者本身擁有相同公用資料夾的明確許可權時,會提供明確許可權的喜好設定。 例如,假設名為 「SG1」 的安全組具有使用者 1 和使用者 2 的成員。 "PF1"的公用資料夾的權限項目如下所示:

    • 在 PF1 SG1: 作者

    • 使用者 1:PF1 中的擁有者

      在此情況下,使用者 1 會新增為 Microsoft 365 群組的擁有者。

  • 要移轉的公用資料夾的 「 預設 」 權限時 'Author' 或超出指令碼將會建議設定相對應群組的隱私權設定為 '公用'。

即使在鎖定公用資料夾之後,也可以執行此文稿,並將 參數 ArePublicFoldersLocked 設定為 $true。 在此案例中,腳本會從鎖定期間建立的備份文件讀取許可權。

LockAndSavePublicFolderProperties.ps1

此腳本會將要移轉的公用資料夾設為唯讀。 移轉啟用郵件功能的公用資料夾時,會先停用郵件,並將其 SMTP 位址新增至個別的 Microsoft 365 群組。 然後,使其唯讀屬性將會修改權限項目。 在執行任何修改之前,將會複製已啟用郵件功能之公用資料夾的郵件屬性備份,以及所有公用資料夾的許可權專案。

如果有多個遷移批次,不同的備份目錄應該搭配每個對應.csv 檔案。

下列郵件屬性會與個別啟用郵件功能的公用資料夾和 Microsoft 365 群組一起儲存:

  • PrimarySMTPAddress
  • EmailAddresses
  • ExternalEmailAddress
  • EmailAddressPolicyEnabled
  • GrantSendOnBehalfTo
  • SendAs 信任者清單

上述郵件屬性會儲存在 .csv 檔案中,如果您想要返回使用公用資料夾,可在復原程式 (中使用該檔案,請參閱 如何? 從 Microsoft 365 群組 回復至公用資料夾?以取得詳細資訊) 。 擁有郵件功能的公用資料夾屬性快照也會儲存在名為 PfMailProperties.csv 的檔案中。 復原程式不需要此檔案,但仍可用於您的參考。

下列郵件屬性會在鎖定過程中移轉至目標群組:

  • PrimarySMTPAddress
  • EmailAddresses
  • SendAs 信任者清單
  • GrantSendOnBehalfTo

腳本可確保移轉已啟用郵件功能之公用資料夾的 PrimarySMTPAddress 和 EmailAddresses 會新增為對應 Microsoft 365 群組的次要 SMTP 位址。 此外,SendAs 和 SendOnBehalfTo 權限的使用者擁有郵件功能的公用資料夾上將會獲得相等權限對應的目標群組中。

允許的存取權限

只有下列的存取權限允許使用者以確保公用資料夾所做的所有使用者唯讀的。 這些都會儲存在 ListOfAccessRightsAllowed

  • ReadItems
  • CreateSubfolders
  • FolderContact
  • FolderVisible
  1. 會以下列方式修改權限項目:

    鎖定之前 鎖定之後
    AvailabilityOnly AvailabilityOnly
    LimitedDetails LimitedDetails
    投稿者 FolderVisible
    檢閱者 ReadItems, FolderVisible
    NonEditingAuthor ReadItems, FolderVisible
    作者 ReadItems, FolderVisible
    編輯工具 ReadItems, FolderVisible
    PublishingAuthor ReadItems, CreateSubfolders, FolderVisible
    PublishingEditor ReadItems, CreateSubfolders, FolderVisible
    擁有者 ReadItems, CreateSubfolders, FolderContact, FolderVisible
  2. 對於沒有讀取許可權的使用者,其訪問許可權將保持不變,而且會繼續遭到封鎖而無法讀取許可權。

  3. 對於具有自定義角色的使用者,將會移除不在 ListOfAccessRightsAllowed 中的所有訪問許可權。 如果使用者在篩選后沒有允許清單的訪問許可權,其訪問許可權將會設定為 [無]。

在資料夾已停用郵件並將其 SMTP 位址新增至 Microsoft 365 群組 期間,將電子郵件傳送至啟用郵件功能的公用資料夾時,可能會發生中斷。

UnlockAndRestorePublicFolderProperties.ps1

此文稿會根據在公用資料夾鎖定期間所取得的備份檔,將許可權重新指派回公用資料夾。 此腳本也會啟用郵件啟用已停用郵件的公用資料夾,之後它會從其各自的 Microsoft 365 群組中移除資料夾的 SMTP 位址。 此程序期間可能稍微停機時間。

如何? 從 Microsoft 365 群組 回復到公用資料夾?

如果您改變心意,並想要在使用 Microsoft 365 群組後返回使用公用資料夾,下列命令會將您的環境還原為移轉前的狀態。 聯播 (英文) back 可以執行只要將備份檔案存在於和只要未刪除公用資料夾移轉後。

執行下列命令。 在此命令:

  • BackupDir是儲存備份檔案的權限項目、 MEPF 屬性與移轉記錄檔的目錄。 請務必使用您在步驟 6:鎖定公用資料夾中指定的相同位置, 以完全 () 所需的公用資料夾停機時間

  • ArePublicFoldersOnPremises 是以指出公用資料夾是否位於內部部署或 Exchange Online 中的參數。

.\UnlockAndRestorePublicFolderProperties.ps1 -BackupDir <path to backup directory> -ArePublicFoldersOnPremises $false

任何新增至 Microsoft 365 群組的專案,或在群組中執行的任何編輯作業,都不會複製回您的公用資料夾。 因此會有資料遺失,假設新資料已時新增的公用資料夾群組。

請注意,即無法再還原所有的公用資料夾有已遷移這表示應該要還原的公用資料夾的子集。

對應的 Microsoft 365 群組不會在復原程式中刪除。 您必須清除或手動刪除這些群組。