A migração de pastas públicas do Exchange para 95% com o erro "Existem [xx] Pastas Públicas que não foi possível ativar o correio"
Sintomas
Quando migra pastas públicas do Microsoft Exchange Server 2010 para o Exchange Online, o processo para nos 95%.
Além disso, quando executar o seguinte comando para rever o relatório de migração:
Get-PublicFolderMailboxMigrationRequest |Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport
Verá o seguinte erro:
Name StatusDetail TargetMailbox PercentComplete
---- ------------ ------------- ---------------
PublicFolderMailboxMigrationfb3cdd37-ecf4-4d33-xxxx -fcec86xxxxxx FailedOther MigP1 95
Em seguida, execute o seguinte comando e receba os detalhes do erro:
$p=Get-PublicFolderMailboxMigrationRequest -Status Failed | Get-PublicFolderMailboxMigrationRequestStatistics -IncludeReport;$p[0].report.failures[-1].Message
Detalhes do erro:
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.
Nos detalhes do erro, o pedido de migração mostra que falhou ao sincronizar pastas públicas com capacidade de correio a partir do local.
No entanto, todas as pastas públicas com capacidade de correio no local são sincronizadas com Exchange Online. O erro será repetido mesmo que tenha executado o script ".\Sync-MailPublicFolders.ps1" várias vezes.
Além disso, se executar o comando Get-MailPublicFolder no local, este não mostra pastas públicas com capacidade de correio e o pedido de migração continua a falhar com o erro.
Causa
Se uma pasta pública estiver ativada por correio, terá a propriedade MailEnabled definida como Verdadeiro. O comando Disable-MailPublicFolder altera esta propriedade para Falso e remove as entradas correspondentes do contentor Microsoft Exchange System Objects (MESO).
Se o comando Disable-MailPublicFolder não concluir a limpeza corretamente, poderá deixar para trás a propriedade MailEnabled como Verdadeiro. No entanto, irá remover os objetos do contentor MESO.
Neste cenário, o comando Get-MailPublicFolder não listará as pastas descritas na mensagem de erro como pastas públicas com capacidade de correio. No entanto, estas pastas ainda são consideradas de correio ativada. Isto causa a falha de migração.
Solução
Existem duas formas de contornar este problema:
Método 1: Utilizar o script para detetar problemas com pastas públicas com capacidade de correio no local
Transfira e execute o script ValidateMailPublicFolders no Exchange Server no local.
O script comunica pastas públicas com capacidade de correio órfã e pastas públicas com capacidade de correio encontradas na pasta NON_IPM_Subtree. Também sugere a utilização de um comando para corrigir o problema.
Execute o comando sugerido pelo script.
Depois de corrigir os problemas comunicados pelo script, execute novamente o script e certifique-se de que não é comunicado nenhum problema para pastas públicas com capacidade de correio.
Método 2: Utilizar comandos para detetar problemas com pastas públicas com capacidade de correio no local
Liste as pastas públicas que ainda têm a propriedade MailEnabled definida como Verdadeiro. To do this, run the following command:
Nota
Se vir erros no comando de saída para além do erro que indica que a pasta pública não é uma pasta pública com capacidade de correio, ignore os erros.
$pf=Get-PublicFolder \ -recurse -ResultSize Unlimited | ? { $_.MailEnabled }; ForEach ($i in $pf) {$mesoObj = Get-MailPublicFolder $i.identity; if ($mesoObj -eq $null) {$i }}
Execute o seguinte comando para desativar as pastas públicas com capacidade de correio:
$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} }
Retomar o lote de migração com falha no Exchange Online.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários