共用方式為


Exchange 公用資料夾移轉會在 95% 停止,並出現錯誤「有 [xx] 公用資料夾無法啟用郵件」

徵狀

當您將公用資料夾從 Microsoft Exchange Server 2010 移轉至 Exchange Online 時,進程會停止 95%。

此外,當您執行下列命令來檢閱移轉報告時:

Get-PublicFolderMailboxMigrationRequest |Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport

您會看到下列錯誤:

Name                                                              StatusDetail TargetMailbox PercentComplete
----                                                              ------------ ------------- ---------------
PublicFolderMailboxMigrationfb3cdd37-ecf4-4d33-xxxx -fcec86xxxxxx FailedOther  MigP1         95

移轉報告中錯誤的螢幕快照。

然後,您會執行下列命令並接收錯誤詳細資料:

$p=Get-PublicFolderMailboxMigrationRequest -Status Failed | Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport;$p[0].report.failures[-1].Message

錯誤詳細資料:

FailureType            : FailedToMailEnablePublicFoldersException
Message                : Error: There are 32 Public Folders that could not be mail-enabled. Please, check the migration report starting at date/time for additional details. This may indicate that mail public folder objects in Exchange Online are out of sync with your Exchange deployment. You may need to rerun the script Sync-MailPublicFolders.ps1 on your source Exchange server to update mail-enabled public folder objects in Exchange Online Active Directory.

從錯誤詳細數據中,移轉要求會顯示它在從內部部署同步處理擁有郵件功能的公用資料夾時失敗。

不過,所有已啟用內部部署郵件功能的公用資料夾都會同步至 Exchange Online。 即使您已多次執行腳本 「\Sync-MailPublicFolders.ps1」,錯誤也會重複。

此外,如果您在內部部署環境中執行 Get-MailPublicFolder 命令,它不會顯示任何啟用郵件功能的公用資料夾,而且移轉要求會繼續失敗並出現錯誤。

原因

如果公用資料夾已啟用郵件功能,則 其MailEnabled 屬性會設定為 TrueDisable-MailPublicFolder 命令會將此屬性變更為 False,並從 Microsoft Exchange System Objects (MESO) 容器中移除對應的專案。

如果 Disable-MailPublicFolder 命令未正確完成清除,則可能會將 MailEnabled 屬性保留為 True。 但它會從MESO容器中移除物件。

在這種情況下, Get-MailPublicFolder 命令不會將錯誤訊息中所述的資料夾列為啟用郵件功能的公用資料夾。 不過,這些資料夾仍被視為已啟用郵件。 這會導致移轉失敗。

因應措施

有兩種方式可以解決此問題:

方法 1:使用腳本來偵測已啟用郵件功能的內部部署公用資料夾問題

  1. 在內部部署 Exchange Server 下載並執行 ValidateMailPublicFolders 腳本。

    此文稿會報告已啟用孤立郵件功能的公用資料夾,以及NON_IPM_Subtree資料夾下找到的啟用郵件的公用資料夾。 它也建議使用 命令來修正問題。

  2. 執行腳本所建議的命令。

  3. 修正文本所報告的問題之後,請再次執行腳本,並確定沒有針對啟用郵件功能的公用資料夾回報任何問題。

方法 2:使用命令來偵測已啟用郵件的內部部署公用資料夾問題

  1. 列出仍將 MailEnabled 屬性設定為 True的公用資料夾。 若要執行此動作,請執行下列命令:

    注意事項

    如果您在輸出命令中看到錯誤,以及指出公用資料夾不是啟用郵件功能的公用資料夾的錯誤,請忽略錯誤。

    $pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) {$i }}
    
  2. 執行下列命令以停用啟用郵件功能的公用資料夾:

    $pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) { Disable-MailPublicFolder $i -confirm:$False} }
    
  3. 在 Exchange Online 中繼續失敗的移轉批次。