Problemas de caixa de correio de arquivo para uma caixa de correio que é migrada para ou do Microsoft 365
Número de KB original: 2757430
Problema
Ao migrar uma caixa de correio para ou do Microsoft 365 e usar uma caixa de correio de arquivo, você enfrenta um problema no qual o MRS (Serviço de Replicação de Caixa de Correio) do Microsoft Exchange em Microsoft Exchange Online carimba o valor de 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.
Há cinco cenários relacionados a caixas de correio de arquivo. Cada cenário requer uma resolução diferente.
- Cenário 1 – Integração: você move suas caixas de correio Microsoft Exchange Server locais para Exchange Online.
- Cenário 2 – Integração: sua caixa de correio de arquivo existe em Exchange Online e você move sua caixa de correio primária do ambiente Exchange Server local para Exchange Online.
- Cenário 3 – Offboarding: você habilita uma caixa de correio de arquivo e migra as caixas de correio primárias e de arquivo de Exchange Online para o ambiente Exchange Server local. Um cenário semelhante ocorre quando sua caixa de correio primária já está local e você decide desativar sua caixa de correio de arquivo de Exchange Online para seu ambiente de Exchange Server local.
- Cenário 4 – Offboarding: sua caixa de correio primária não tem uma caixa de correio de arquivo habilitada e você move sua caixa de correio primária de Exchange Online para seu ambiente de Exchange Server local.
- Cenário 5 – Offboarding: sua caixa de correio primária existe em seu ambiente de Exchange Server local e sua caixa de correio de arquivo existe em Exchange Online. Esse cenário pode ocorrer quando você fizer uma das seguintes ações:
- Você offboard sua caixa de correio primária. No entanto, você deixa sua caixa de correio de arquivo em Exchange Online.
- As caixas de correio primárias e de arquivo estão localizadas em seu ambiente de Exchange Server local. No entanto, você integra apenas sua caixa de correio de arquivo.
Observação
O único cenário de divisão de arquivos com suporte é uma caixa de correio primária local e uma caixa de correio de arquivo em Exchange Online.
Motivo
Esse problema ocorrerá se uma caixa de correio for migrada entre um ambiente Exchange Server local e Exchange Online.
Se você usar o cmdlet Windows PowerShell a seguir para exibir as propriedades do arquivo, observe que o status de arquivo é Ativo. No entanto, grande parte das informações de arquivo está ausente.
Get-Mailbox alias |fl Name, Archive*
Observação
Você pode usar o Shell de Gerenciamento do Exchange local ou Exchange Online PowerShell para executar o cmdlet. Para obter mais informações sobre como usar Exchange Online PowerShell, acesse Conectar Windows PowerShell ao Serviço.
Quando você executa o cmdlet, o resultado se assemelha 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 resolve 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 resolvidas e a propriedade ArchiveDomain não é mais definida até que a caixa de correio de arquivo 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 no Outlook e receberam prompts de autenticação. No entanto, os usuários não podem ver a mesma caixa de correio de arquivo em Outlook Web App. (A Microsoft se refere ao arquivo como um "arquivo fantasma" porque não é uma caixa de correio de arquivo verdadeira 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 fatores corretamente na presença de uma caixa de correio de arquivo Exchange Online. Portanto, os usuários podem acessar corretamente suas caixas de correio de arquivo no Outlook ou 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: a MRS em Exchange Online define o valor da propriedade ArchiveDomain para o domínio local. Portanto, os usuários podem acessar corretamente suas caixas de correio de arquivo no Outlook ou Outlook Web App sem erros. Nenhuma ação é necessária.
Cenário 4
O problema no cenário 4 foi resolvido da seguinte maneira: neste cenário, a MRS em 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 no Outlook, mesmo que a caixa de correio de arquivo não esteja habilitada. Este arquivo se assemelha ao "arquivo fantasma" mencionado na seção "Resolução" para o cenário 1. No entanto, o arquivo ainda requer que o administrador do Exchange do ambiente Exchange Server local execute o script fornecido na seção "Resolução do Cenário 5". A Microsoft implantou uma atualização para resolve esse cenário. Portanto, o offboarding futuro não será afetado.
Para determinar se você é afetado ao executar uma migração de offboarding de 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 resolve 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 de Exchange Online de volta para seu ambiente de Exchange Server local. Para executar o script, siga estas etapas:
- Iniciar Bloco de Notas.
- 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."
}
}
- No menu Arquivo, clique em Salvar.
- Na caixa Salvar como Tipo , clique em Todos os Arquivos (.).
- Na caixa Nome do arquivo , typeCleanup-ArchiveDomain.ps1 e clique em Salvar.
- 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 só deve ser especificado se o locatário usar a funcionalidade de arquivo de nuvem. O valor do parâmetro deve ser o nome de domínio DNS que o locatário usa para acessar arquivos de nuvem, como contoso.com.
- O parâmetro Domínio é usado para executar a funcionalidade de limpeza em um domínio que não é o domínio do computador atual.
- O comutador Correção dispara a funcionalidade de limpeza real. A função padrão da opção (também conhecida como "modo de verificação") é apenas localizar os usuários e, em seguida, deixá-los em um arquivo CSV.
- O comutadorFindAllUsersInForest 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 Corrigir. Você pode corrigir usuários em apenas um domínio por vez.
Mais informações
Ainda precisa de ajuda? Acesse a Microsoft Community.