Migratie van openbare mappen in Exchange eindigt bij 95% met fout ' er zijn [xx] openbare mappen die niet zijn toegestaan met een e-mailbericht '

Symptomen

Wanneer u openbare mappen migreert van Microsoft Exchange Server 2010 naar Exchange Online, stopt het proces bij 95%.

Daarnaast voert u de volgende opdracht uit om het migratierapport te bekijken:

Get-PublicFolderMailboxMigrationRequest |Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport

U ziet het volgende foutbericht:

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

Fout in het migratierapport

Voer vervolgens de volgende opdracht uit en ontvang de foutgegevens:

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

Details van fout:

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.

Uit de foutgegevens blijkt dat de migratie aanvraag is mislukt bij het synchroniseren van openbare mappen met e-mail vanuit on-premises.

Alle on-premises openbare mappen met e-mail worden echter gesynchroniseerd met Exchange Online. De fout wordt ook herhaald als u het script ' .\Sync-MailPublicFolders.ps1 ' meerdere keren uitvoert.

Als u de opdracht Get-MailPublicFolder on-premises uitvoert, worden geen openbare mappen met e-mail weergegeven en wordt de migratie aanvraag voortgezet met de fout.

Oorzaak

Als een openbare map e-mail is ingeschakeld, wordt de eigenschap mail ingeschakeld ingesteld op waar. Met de opdracht Disable-MailPublicFolder verandert deze eigenschap in False en worden bijbehorende vermeldingen uit de Microsoft Exchange System Objects-container (Meso) verwijderd.

Als het opruimen van de opdracht disable-MailPublicFolder niet op de juiste manier wordt voltooid, kunt u de eigenschap van de optie voor het inschakelen van de functie voor maildisabled achter Maar de objecten uit MESO container worden verwijderd.

In dit scenario biedt de opdracht Get-MailPublicFolder niet de mappen die worden beschreven in het foutbericht als openbare mappen met e-mail. Deze mappen blijven echter wel als e-mail zijn ingeschakeld. Dit veroorzaakt een mislukte migratie.

Tijdelijke oplossing

Er zijn twee manieren om dit probleem tijdelijk op te lossen:

Methode 1: script gebruiken om problemen op te sporen met openbare mappen die gebruikmaken van lokale e-mail

  1. Download en voer het ValidateMailPublicFolders -script op Exchange Server on-premises.

    De script rapporten met openbare mappen met ingeschakelde e-mail en openbare mappen met e-mail die zijn gevonden onder de map NON_IPM_Subtree. U wordt ook aangeraden een opdracht uit te voeren om het probleem te verhelpen.

  2. Voer de opdracht uit die door het script is voorgesteld.

  3. Voer het script opnieuw uit en zorg ervoor dat er geen problemen worden gerapporteerd voor openbare mappen met e-mail.

Methode 2: opdrachten gebruiken om problemen op te sporen met openbare mappen die gebruikmaken van lokale e-mail

  1. Een lijst maken met de openbare mappen waarvoor de eigenschap voor de mailfunctie is ingesteld op waar. Voer hiervoor de volgende opdracht uit:

    Notitie

    Als u fouten ziet in de opdrachtuitvoer, naast de foutmelding dat de openbare map geen openbare map is, kunt u de fouten negeren.

    $pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) {$i }}
    
  2. Voer de volgende opdracht uit om de openbare mappen met e-mail uit te schakelen:

    $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. Hervat de mislukte migratie batch in Exchange Online.