Partilhar via


Arquivar problemas de caixa de correio para uma caixa de correio migrada de ou para o Microsoft 365

Número KB original: 2757430

Problema

Quando você migra uma caixa de correio de ou para o Microsoft 365 e usa uma caixa de correio de arquivo, 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 de domínio de destino da propriedade ArchiveDomain da caixa de correio no final da migração.

Note

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

Há cinco cenários relacionados a caixas de correio de arquivamento. 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 - Offboarding: você habilita uma caixa de correio de arquivo morto e, em seguida, migra as caixas de correio principal e de arquivo morto do Exchange Online para o ambiente local do Exchange Server. Um cenário semelhante ocorre quando sua caixa de correio principal já está no local e você decide transferir sua caixa de correio de arquivo morto do Exchange Online para seu ambiente local do Exchange Server.
  • Cenário 4 - Offboarding: 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 seu ambiente local do Exchange Server.
  • Cenário 5 - Offboarding: Sua caixa de correio principal existe em seu ambiente local do Exchange Server e sua caixa de correio de arquivo morto existe no Exchange Online. Esse cenário pode ocorrer quando você executa uma das seguintes ações:
    • Você desconecta 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 em seu ambiente local do Exchange Server. No entanto, você integra apenas sua caixa de correio de arquivamento.

    Note

    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 ocorre se uma caixa de correio é migrada entre um ambiente local do Exchange Server e o Exchange Online.

Se você usar o seguinte cmdlet do Windows PowerShell para exibir as propriedades do arquivo, notará que o status do arquivo morto é Ativo. No entanto, falta muita informação de arquivo.

Get-Mailbox alias |fl Name, Archive*

Note

Você pode usar o Shell de Gerenciamento do Exchange local ou o PowerShell do Exchange Online para executar o cmdlet. Para saber mais sobre como usar o PowerShell do Exchange Online, vá para 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 seguintes métodos, conforme apropriado para seu cenário.

Cenário 1

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

Antes de esse problema ser resolvido, os usuários relataram a presença de uma caixa de correio de arquivo morto no Outlook e receberam prompts 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 refere-se ao arquivo como um "arquivo fantasma" porque não é uma caixa de correio de arquivo verdadeiro que pode ser acessada pelos usuários.

Cenário 2

O problema no cenário 2 foi resolvido da seguinte forma: 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 forma: 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 forma: Nesse cenário, o MRS no Exchange Online define o valor da propriedade ArchiveDomain para 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 é mencionado na seção 'Resolução' para o cenário 1. No entanto, o arquivo 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 desembarque futuro não será afetado.

Para determinar se você é afetado quando executa uma migração de desintegraçã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.

Para resolver os cenários 4 e 5, a Microsoft fornece o seguinte script 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 estes passos:

  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 File (Ficheiro), clique em Save (Guardar).
  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, em seguida, execute o script juntamente com os seguintes parâmetros:
Cleanup-ArchiveDomain.ps1 [-TenantCloudDomain serviceDomain] [-Domain domain] [-Fix] [-FindAllUsersInForest]

Note

  • O parâmetro TenantCloudDomain deve 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 Fix aciona a funcionalidade de limpeza real. A função padrão do switch (também conhecido como 'modo de digitalizaçã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 de cada vez.

Mais informações

Ainda necessita de ajuda? Vá para Comunidade Microsoft