Compartilhar via


Problemas de caixa de correio de arquivo morto para uma caixa de correio migrada de ou para o Microsoft 365

Número original do KB: 2757430

Problema

Ao migrar uma caixa de correio de ou para o Microsoft 365 e usar uma caixa de correio de arquivo morto, você enfrenta um problema no qual o serviço de Replicação de Caixa de Correio do Microsoft Exchange (MRS) no Microsoft Exchange Online carimba o valor do domínio de destino da propriedade ArchiveDomain da caixa de correio no final da migração.

Observação

O problema não deve ocorrer em uma conta que não tenha uma caixa de correio de arquivo morto.

Há cinco cenários relacionados a caixas de correio de arquivo morto. Cada cenário requer uma resolução diferente.

  • Cenário 1 - Integração: você move suas caixas de correio locais do Microsoft Exchange Server para o Exchange Online.
  • Cenário 2 – Integração: sua caixa de correio de arquivo morto existe no Exchange Online e você move sua caixa de correio principal do ambiente local do Exchange Server para o Exchange Online.
  • Cenário 3 - Remoção Um cenário semelhante ocorre quando sua caixa de correio principal já está no local e você decide remover sua caixa de correio de arquivo morto do Exchange Online para o ambiente local do Exchange Server.
  • Cenário 4 - Desligamento: sua caixa de correio principal não tem uma caixa de correio de arquivo morto habilitada e você move sua caixa de correio principal do Exchange Online para o ambiente local do Exchange Server.
  • Cenário 5 - Remoção Esse cenário pode ocorrer quando você executa uma das seguintes ações:
    • Você desembarca sua caixa de correio principal. No entanto, você deixa sua caixa de correio de arquivo morto no Exchange Online.
    • As caixas de correio primária e de arquivo morto estão localizadas no ambiente local do Exchange Server. No entanto, você integra apenas sua caixa de correio de arquivo morto.

    Observação

    O único cenário de divisão de arquivo morto com suporte é uma caixa de correio principal local e uma caixa de correio de arquivo morto no Exchange Online.

Causa

Esse problema ocorrerá se uma caixa de correio for migrada entre um ambiente local do Exchange Server e o Exchange Online.

Se você usar o cmdlet do Windows PowerShell a seguir para exibir as propriedades do arquivo morto, observará que o status do arquivo é Ativo. No entanto, muitas das informações do arquivo estão faltando.

Get-Mailbox alias |fl Name, Archive*

Observação

Você pode usar o Shell de Gerenciamento do Exchange local ou o PowerShell do Exchange Online para executar o cmdlet. Para obter mais informações sobre como usar o Exchange Online PowerShell, acesse Conectar o Windows PowerShell ao Serviço.

Quando você executa o cmdlet, o resultado é semelhante ao seguinte:

Name : jsmith
ArchiveDatabase :
ArchiveGuid : 00000000-0000-0000-0000-000000000000
ArchiveName : {}
ArchiveQuota : 100 GB (107,374,182,400 bytes)
ArchiveWarningQuota : 90 GB (96,636,764,160 bytes)
ArchiveDomain : contoso.mail.onmicrosoft.com
ArchiveStatus : Active

Solução

Para resolver esse problema, use um dos métodos a seguir, conforme apropriado para seu cenário.

Cenário 1

O problema no cenário 1 foi resolvido da seguinte maneira: todas as migrações de integração para Exchange Online são abordadas e a propriedade ArchiveDomain não é mais definida até que a caixa de correio de arquivo morto seja habilitada pelo administrador de locatários.

Antes que esse problema fosse resolvido, os usuários relatavam a presença de uma caixa de correio de arquivo morto no Outlook e recebiam solicitações de autenticação. No entanto, os usuários não podem ver a mesma caixa de correio de arquivo morto no Outlook Web App. (A Microsoft se refere ao arquivo morto como um 'arquivo fantasma' porque não é uma verdadeira caixa de correio de arquivo que pode ser acessada pelos usuários.

Cenário 2

O problema no cenário 2 foi resolvido da seguinte maneira: O componente MRS responsável por mover caixas de correio agora considera corretamente a presença de uma caixa de correio de arquivo morto do Exchange Online. Portanto, os usuários podem acessar corretamente suas caixas de correio de arquivo morto no Outlook ou no Outlook Web App sem erros. Nenhuma ação é necessária.

Cenário 3

O problema em ambas as variações do cenário 3 é resolvido da seguinte maneira: O MRS no Exchange Online define o valor da propriedade ArchiveDomain como o domínio local. Portanto, os usuários podem acessar corretamente suas caixas de correio de arquivo morto no Outlook ou no Outlook Web App sem erros. Nenhuma ação é necessária.

Cenário 4

O problema no cenário 4 foi resolvido da seguinte maneira: Nesse cenário, o MRS no Exchange Online define o valor da propriedade ArchiveDomain como o domínio local. Portanto, os usuários veem a presença de uma caixa de correio de arquivo morto no Outlook, mesmo que a caixa de correio de arquivo morto não esteja habilitada. Este arquivo se assemelha ao 'arquivo fantasma' que mencionou a seção 'Resolução' para o cenário 1. No entanto, o arquivo morto ainda requer que o administrador do Exchange do ambiente local do Exchange Server execute o script fornecido na seção 'Resolução do Cenário 5'. A Microsoft implantou uma atualização para resolver esse cenário. Portanto, o desligamento futuro não será afetado.

Para determinar se você é afetado ao executar uma migração de remoção do Exchange Online, execute o script fornecido na seção 'Resolução do Cenário 5' no modo de verificação.

Cenário 5

Nesse cenário, o valor da propriedade ArchiveDomain é definido como o domínio local. Portanto, o Outlook não pode localizar e abrir a caixa de correio de arquivo morto.

Para resolver os cenários 4 e 5, a Microsoft fornece o script a seguir para ajudar a alterar os atributos necessários automaticamente se você mover suas caixas de correio do Exchange Online de volta para o ambiente local do Exchange Server. Para executar o script, siga estas etapas:

  1. Inicie o Bloco de Notas.
  2. Copie e cole o seguinte script no Bloco de Notas:
#-------------------------------------------------------------------------------
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#
# PLEASE NOTE:
# Microsoft Corporation (or based on where you live, one of its affiliates)
# licenses this supplement to you. You may use it with each validly licensed
# copy of Microsoft Online Services Migration Tools software (the "software").
# You may not use the supplement if you do not have a license for the software.
# The license terms for the software apply to your use of this supplement.
# Microsoft may provide support services for the supplement as described at
# http://www.support.microsoft.com/common/international.aspx.
#
#-------------------------------------------------------------------------------
#
# PowerShell Source Code
#
param([Parameter(Mandatory = $false)]
[string]$TenantCloudDomain,
[Parameter(Mandatory = $false)]
[string]$Domain,
[Parameter(Mandatory = $false)]
[Switch]$Fix,
[Parameter(Mandatory = $false)]
[Switch]$FindAllUsersInForest
)
function GetNameFromDN([string]$dn)
{
if ($dn.Length -eq 0) { return $null; }
return ($dn -split ",")[0].Replace("CN=", "")
}
Import-Module ActiveDirectory
If ($TenantCloudDomain.Length -eq 0) {
$ldapQuery = "(&(objectClass=user)(msExchArchiveAddress=*))"
} else {
$ldapQuery = "(&(objectClass=user)(msExchArchiveAddress=*)(!(&(msExchArchiveGuid=*)(!(msExchArchiveDatabaseLink=*))(msExchArchiveAddress=$TenantCloudDomain))))"
}
if ($Domain.Length -eq 0) {
# default domain to computer's domain
$computer = Get-WmiObject -Class Win32_ComputerSystem
$Domain = $computer.Domain
}
if ($FindAllUsersInForest -and $Fix) {
throw "You cannot specify -FindAllUsersInForest when running in -Fix mode, only one domain can be cleaned up at a time."
}
Write-Host "Looking for objects to clean up in ${Domain}: ${ldapQuery}"
$propertiesToLoad = @("msExchMailboxGuid","homeMDB","msExchArchiveGuid","msExchArchiveDatabaseLink","msExchArchiveAddress")
$tsStart = [DateTime](Get-Date)
if ($FindAllUsersInForest) {
$m = Get-ADObject -Server "${Domain}:3268" -SearchBase "" -LDAPFilter $ldapQuery -ResultSetSize $null -Properties $propertiesToLoad
} else {
$m = Get-ADObject -Server $Domain -LDAPFilter $ldapQuery -ResultSetSize $null -Properties $propertiesToLoad
}
$elapsed = [DateTime](Get-Date) - $tsStart
if ($m -eq $null) {
Write-Host "No objects need to be cleaned up."
return
}
$cleanedCount = 0
$failedCount = 0
$filename = $("~\ArchiveDomainCleanup_{0:yyyymmdd_HHmmss}.csv" -f (Get-Date))
# Run cleanup and output data to CSV file
Write-Host "Writing output to $filename..."
try {
$m | %{
$success = $true
if ($Fix) {
$prevError = $error[0]
Set-ADObject -Identity $_ -Server $Domain -Clear "msExchArchiveAddress"
if ($error[0] -ne $prevError) {
$success = $false
Write-Host "x" -NoNewLine
} else {
Write-Host "." -NoNewLine
}
}
if ($success) {
$cleanedCount++
# object was cleaned up successfully, let's append it to output CSV.
$mm = $_ | Select ObjectGuid,DistinguishedName
# Morph guid values from binary blob to proper guid
$mbxGuid = [Guid]$_.msExchMailboxGuid
if ($_.msExchArchiveGuid -ne $null) {
$archiveGuid = [Guid]$_.msExchArchiveGuid
} else {
$archiveGuid = $null
}
Add-Member -InputObject $mm -MemberType NoteProperty -Name CleanedArchiveDomain -Value $($_.msExchArchiveAddress)
Add-Member -InputObject $mm -MemberType NoteProperty -Name ExchangeGuid -Value $mbxGuid
Add-Member -InputObject $mm -MemberType NoteProperty -Name Database -Value $(GetNameFromDN $_.homeMDB)
Add-Member -InputObject $mm -MemberType NoteProperty -Name ArchiveGuid -Value $archiveGuid
Add-Member -InputObject $mm -MemberType NoteProperty -Name ArchiveDatabase -Value $(GetNameFromDN $_.msExchArchiveDatabaseLink)
$mm
} else {
$failedCount++
}
} | Export-CSV $filename -NoTypeInformatio
}
finally {
if ($Fix) {
Write-Host ""
Write-Host "Cleaned up $cleanedCount recipients."
if ($failedCount -gt 0) {
Write-Warning "Failed to update $failedCount recipients."
}
} else {
Write-Host "Discovered $cleanedCount recipients."
}
}
  1. No menu Arquivo , clique em Salvar.
  2. Na caixa Salvar como tipo , clique em Todos os arquivos (.).
  3. Na caixa Nome do arquivo , digiteCleanup-ArchiveDomain.ps1 e clique em Salvar.
  4. Localize o diretório no qual você salvou o arquivo Cleanup-ArchiveDomain.ps1 e execute o script junto com os seguintes parâmetros:
Cleanup-ArchiveDomain.ps1 [-TenantCloudDomain serviceDomain] [-Domain domain] [-Fix] [-FindAllUsersInForest]

Observação

  • O parâmetro TenantCloudDomain deverá ser especificado somente se o locatário usar a funcionalidade de arquivamento na nuvem. O valor do parâmetro deve ser o nome de domínio DNS que o locatário usa para acessar arquivos na nuvem, como contoso.com.
  • O parâmetro Domain é usado para executar a funcionalidade de limpeza em um domínio que não é o domínio do computador atual.
  • A opção Corrigir aciona a funcionalidade de limpeza real. A função padrão do switch (também conhecido como 'modo de verificação') é apenas encontrar os usuários e, em seguida, enviá-los para um arquivo CSV.
  • A opção FindAllUsersInForest pesquisa um catálogo global e localiza todos os usuários afetados na floresta local (em todos os domínios). No entanto, essa opção não pode ser combinada com a opção Fix. Você pode corrigir usuários em apenas um domínio por vez.

Mais informações

Ainda precisa de ajuda? Acesse a Microsoft Community.