Problemas de caixa de correio de arquivo para uma caixa de correio que é migrada para ou a partir do Office 365

Nota

O Office 365 ProPlus está a ser renomeado para Aplicações do Microsoft 365 para empresas. Para obter mais informações sobre essa alteração, leia este post no blog.

Número KB original:   2757430

Problema

Quando migra uma caixa de correio de ou para o Microsoft Office 365 e utiliza uma caixa de correio de arquivo, experimenta um problema em que o serviço de replicação da caixa de correio (MRS) do Microsoft Exchange (MRS) no Microsoft Exchange Online carimba o valor de domínio-alvo da propriedade ArchiveDomain da caixa de correio no final da migração.

Nota

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

Existem cinco cenários relacionados com caixas de correio de arquivo. Cada cenário requer uma resolução diferente.

  • Cenário 1 - Embarque: Move as suas caixas de correio do Microsoft Exchange Server para Exchange Online.
  • Cenário 2 - Embarque: A sua caixa de correio de arquivo existe no Exchange Online e move a sua caixa de correio primária do ambiente do Seu Servidor de Troca no Local para Exchange Online.
  • Cenário 3 - Offboarding: Ativa uma caixa de correio de arquivo e, em seguida, migra tanto as suas caixas de correio primárias como de arquivo do Exchange Online para o ambiente do Exchange Server no local. Um cenário semelhante ocorre quando a sua caixa de correio primária já está no local e decide desacordá-la da sua caixa de correio de arquivo do Exchange Online para o ambiente do Exchange Server no local.
  • Cenário 4 - Offboarding: A sua caixa de correio primária não tem uma caixa de correio de arquivo ativada e move a sua caixa de correio primária do Exchange Online para o ambiente do Servidor de Câmbio no local.
  • Cenário 5 - Offboarding: A sua caixa de correio primária existe no ambiente do Exchange Server no local e a sua caixa de correio de arquivo existe no Exchange Online. Este cenário pode ocorrer quando se toma uma das seguintes ações:
    • Você sai da sua caixa de correio primária. No entanto, deixe a sua caixa de correio de arquivo no Exchange Online.
    • As caixas de correio primárias e de arquivo estão localizadas no ambiente do Servidor de Troca no local. No entanto, só está a bordo da sua caixa de correio de arquivo.

    Nota

    O único cenário de divisão de arquivo suportado é uma caixa de correio primária no local e uma caixa de correio de arquivo em Exchange Online.

Causa

Este problema ocorre se uma caixa de correio é migrada entre um ambiente de Exchange Server no local e Exchange Online.

Se utilizar o cmdlet Do Windows PowerShell para visualizar as propriedades do arquivo, note que o estado do arquivo está Ativo. No entanto, falta grande parte da informação do arquivo.

Get-Mailbox alias |fl Name, Archive*

Nota

Pode utilizar a Shell de Gestão de Câmbio no local ou a Exchange Online PowerShell para executar o cmdlet. Para obter mais informações sobre como utilizar o Exchange Online PowerShell, vá ao Connect Windows PowerShell ao Serviço.

Quando se corre o cmdlet, o resultado assemelha-se 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 este problema, utilize um dos seguintes métodos, conforme apropriado para o seu cenário.

Cenário 1

A questão no cenário 1 foi resolvida da seguinte forma: Todas as migrações de bordo para Exchange Online são endereçadas e a propriedade ArchiveDomain já não está definida até que a caixa de correio de arquivo seja ativada pelo administrador do arrendatário.

Antes de este problema ser resolvido, os utilizadores reportaram a presença de uma caixa de correio de arquivo no Outlook e receberam pedidos de autenticação. No entanto, os utilizadores não conseguem ver a mesma caixa de correio de arquivo na Outlook Web App. (A Microsoft refere-se ao arquivo como um "arquivo fantasma" porque não é uma verdadeira caixa de correio de arquivo que pode ser acedida pelos utilizadores.

Cenário 2

A questão no cenário 2 foi resolvida da seguinte forma: o componente MRS que é responsável por mover caixas de correio agora corretamente fatores na presença de uma caixa de correio de arquivo Exchange Online. Por isso, os utilizadores podem aceder corretamente às suas caixas de correio de arquivo no Outlook ou na Outlook Web App sem quaisquer erros. Não é necessária nenhuma ação.

Cenário 3

A questão em ambas as variações do cenário 3 é resolvida da seguinte forma: MRS in Exchange Online define o valor da propriedade ArchiveDomain para o domínio no local. Por isso, os utilizadores podem aceder corretamente às suas caixas de correio de arquivo no Outlook ou na Outlook Web App sem quaisquer erros. Não é necessária nenhuma ação.

Cenário 4

A questão no cenário 4 foi resolvida da seguinte forma: Neste cenário, a MRS in Exchange Online define o valor da propriedade ArchiveDomain para o domínio no local. Por isso, os utilizadores vêem a presença de uma caixa de correio de arquivo no Outlook, mesmo que a caixa de correio de arquivo não esteja ativada. Este arquivo assemelha-se ao "arquivo fantasma" que mencionou a secção "Resolução" para o cenário 1. No entanto, o arquivo ainda requer que o administrador da Exchange Server execute o script fornecido na secção 'Resolução do Cenário 5'. A Microsoft implementou uma atualização para resolver este cenário. Por conseguinte, o futuro offboarding não será afetado.

Para determinar se é afetado quando executa uma migração offboarding a partir do Exchange Online, execute o script fornecido na secção 'Resolução do Cenário 5' no modo de digitalização.

Cenário 5

Neste cenário, o valor da propriedade ArchiveDomain está definido para o domínio no local. Portanto, o Outlook não consegue 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 automaticamente os atributos necessários se mudar as suas caixas de correio do Exchange Online de volta para o ambiente do Exchange Server no local. Para executar o script, siga estes passos:

  1. Inicie o bloco de notas.
  2. Copiar e colar 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
#
aram([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 domai
$computer = Get-WmiObject -Class Win32_ComputerSystem
$Domain = $computer.Domai
}
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."
retur
}
$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 'Ficheiro', clique em Guardar.
  2. Na caixa 'Guardar Como Tipo', clique em Todos os Ficheiros (.).
  3. Na caixa de nomes do Ficheiro, typeCleanup-ArchiveDomain.ps1 e, em seguida, clique em Guardar.
  4. Localize o diretório no qual guardou o ficheiro Cleanup-ArchiveDomain.ps1 e, em seguida, execute o script juntamente com os seguintes parâmetros:
Cleanup-ArchiveDomain.ps1 [-TenantCloudDomain serviceDomain] [-Domain domain] [-Fix] [-FindAllUsersInForest]

Nota

  • O parâmetro TenantCloudDomain só deve ser especificado se o arrendatário utilizar a funcionalidade de arquivo em nuvem. O valor do parâmetro deve ser o nome de domínio DNS que o inquilino usa para aceder a arquivos em nuvem, como contoso.com.
  • O parâmetro Domain é usado para executar a funcionalidade de limpeza num domínio que não é o domínio do computador atual.
  • O interruptor Fix ativa a funcionalidade de limpeza real. A função predefinida do comutador (também conhecido como 'modo de digitalização') é apenas encontrar os utilizadores e, em seguida, desligá-los para um ficheiro CSV.
  • O switch FindAllUsersInForest procura um catálogo global e encontra todos os utilizadores afetados na floresta local (em todos os domínios). No entanto, este interruptor não pode ser combinado com o interruptor Fix. Pode corrigir os utilizadores apenas num domínio de cada vez.

Mais informações

Ainda necessita de ajuda? Vá para Comunidade Microsoft