Problemi relativi alle cassette postali di archiviazione per una cassetta postale di cui è stata eseguita la migrazione da o verso Microsoft 365
Numero KB originale: 2757430
Problema
Quando si esegue la migrazione di una cassetta postale da o verso Microsoft 365 e si usa una cassetta postale di archiviazione, si verifica un problema in cui il servizio Replica cassette postali di Microsoft Exchange (MRS) in Microsoft Exchange Online contrassegna il valore di dominio di destinazione della proprietà ArchiveDomain della cassetta postale alla fine della migrazione.
Note
Il problema non dovrebbe verificarsi in un account che non dispone di una cassetta postale di archiviazione.
Esistono cinque scenari correlati alle cassette postali di archiviazione. Ogni scenario richiede una risoluzione diversa.
- Scenario 1 - Onboarding: spostare le cassette postali locali di Microsoft Exchange Server in Exchange Online.
- Scenario 2 - Onboarding: la cassetta postale di archiviazione esiste in Exchange Online e si sposta la cassetta postale primaria dall'ambiente Exchange Server locale a Exchange Online.
- Scenario 3 - Offboarding: si abilita una cassetta postale di archiviazione e quindi si esegue la migrazione delle cassette postali primarie e di archiviazione da Exchange Online all'ambiente Exchange Server locale. Uno scenario simile si verifica quando la cassetta postale primaria è già locale e si decide di eseguire l'offboarding della cassetta postale di archiviazione da Exchange Online all'ambiente Exchange Server locale.
- Scenario 4 - Offboarding: la cassetta postale primaria non dispone di una cassetta postale di archiviazione abilitata e si sposta la cassetta postale primaria da Exchange Online all'ambiente Exchange Server locale.
- Scenario 5 - Offboarding: la cassetta postale primaria esiste nell'ambiente Exchange Server locale e la cassetta postale di archiviazione esiste in Exchange Online. Questo scenario può verificarsi quando si esegue una delle azioni seguenti:
- Si esegue l'offboarding della cassetta postale primaria. Tuttavia, si lascia la cassetta postale di archiviazione in Exchange Online.
- Sia le cassette postali primarie che le cassette postali di archiviazione si trovano nell'ambiente Exchange Server locale. Tuttavia, si esegue l'onboarding solo della cassetta postale di archiviazione.
Note
L'unico scenario di suddivisione archivio supportato è una cassetta postale primaria locale e una cassetta postale di archiviazione in Exchange Online.
Causa
Questo problema si verifica se viene eseguita la migrazione di una cassetta postale tra un ambiente Exchange Server locale ed Exchange Online.
Se si usa il cmdlet di Windows PowerShell seguente per visualizzare le proprietà di archivio, si noterà che lo stato dell'archivio è Attivo. Tuttavia, gran parte delle informazioni sull'archivio è mancante.
Get-Mailbox alias |fl Name, Archive*
Note
Per eseguire il cmdlet, è possibile usare Exchange Management Shell locale o PowerShell di Exchange Online. Per altre informazioni su come usare PowerShell per Exchange Online, vedere Connettere Windows PowerShell al servizio.
Quando si esegue il cmdlet, il risultato è simile al seguente:
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
Soluzione
Per risolvere questo problema, usare uno dei metodi seguenti, come appropriato per lo scenario.
Scenario 1
Il problema nello scenario 1 è stato risolto nel modo seguente: tutte le migrazioni di onboarding a Exchange Online vengono risolte e la proprietà ArchiveDomain non viene più impostata finché la cassetta postale di archiviazione non è abilitata dall'amministratore tenant.
Prima della risoluzione di questo problema, gli utenti segnalavano la presenza di una cassetta postale di archiviazione in Outlook e ricevevano richieste di autenticazione. Tuttavia, gli utenti non possono visualizzare la stessa cassetta postale di archiviazione in Outlook Web App. Microsoft fa riferimento all'archivio come "archivio fantasma" perché non è una vera cassetta postale di archiviazione accessibile dagli utenti.
Scenario 2
Il problema nello scenario 2 è stato risolto come segue: il componente MRS responsabile dello spostamento delle cassette postali ora fattori correttamente in presenza di una cassetta postale di archiviazione di Exchange Online. Pertanto, gli utenti possono accedere correttamente alle cassette postali di archiviazione in Outlook o Outlook Web App senza errori. Non è necessaria alcuna azione.
Scenario 3
Il problema in entrambe le varianti dello scenario 3 viene risolto nel modo seguente: MRS in Exchange Online imposta il valore della proprietà ArchiveDomain sul dominio locale. Pertanto, gli utenti possono accedere correttamente alle cassette postali di archiviazione in Outlook o Outlook Web App senza errori. Non è necessaria alcuna azione.
Scenario 4
Il problema nello scenario 4 è stato risolto come segue: in questo scenario MRS in Exchange Online imposta il valore della proprietà ArchiveDomain sul dominio locale. Pertanto, gli utenti visualizzano la presenza di una cassetta postale di archiviazione in Outlook, anche se la cassetta postale di archiviazione non è abilitata. Questo archivio è simile all'archivio fantasma menzionato nella sezione "Risoluzione" per lo scenario 1. Tuttavia, l'archivio richiede comunque che l'amministratore di Exchange dell'ambiente Exchange Server locale esegua lo script fornito nella sezione "Risoluzione dello scenario 5". Microsoft ha distribuito un aggiornamento per risolvere questo scenario. Pertanto, le future offboarding non saranno interessate.
Per determinare se si è interessati quando si esegue una migrazione di offboarding da Exchange Online, eseguire lo script fornito nella sezione "Risoluzione dello scenario 5" in modalità di analisi.
Scenario 5
In questo scenario, il valore della proprietà ArchiveDomain viene impostato sul dominio locale. Pertanto, Outlook non è in grado di individuare e aprire la cassetta postale di archiviazione.
Per risolvere gli scenari 4 e 5, Microsoft fornisce lo script seguente per modificare automaticamente gli attributi necessari se si spostano le cassette postali da Exchange Online all'ambiente Exchange Server locale. Per eseguire lo script, seguire questa procedura:
- Avviare il Blocco note.
- Copiare e incollare lo script seguente nel Blocco note:
#-------------------------------------------------------------------------------
#
# 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."
}
}
- Scegliere Save (Salva) dal menu File.
- Nella casella Salva con nome fare clic su Tutti i file (.).
- Nella casella Nome file digitareCleanup-ArchiveDomain.ps1 e quindi fare clic su Salva.
- Individuare la directory in cui è stato salvato il file Cleanup-ArchiveDomain.ps1 e quindi eseguire lo script insieme ai parametri seguenti:
Cleanup-ArchiveDomain.ps1 [-TenantCloudDomain serviceDomain] [-Domain domain] [-Fix] [-FindAllUsersInForest]
Note
- Il parametro TenantCloudDomain deve essere specificato solo se il tenant usa la funzionalità di archiviazione cloud. Il valore del parametro deve essere il nome di dominio DNS usato dal tenant per accedere agli archivi cloud, ad esempio contoso.com.
- Il parametro Domain viene usato per eseguire la funzionalità di pulizia in un dominio che non è il dominio del computer corrente.
- L'opzione Correzione attiva la funzionalità di pulizia effettiva. La funzione predefinita dell'opzione (nota anche come "modalità di analisi") è solo per trovare gli utenti e quindi inviarli a un file CSV.
- L'opzioneFindAllUsersInForest cerca un catalogo globale e trova tutti gli utenti interessati nella foresta locale (in tutti i domini). Tuttavia, questa opzione non può essere combinata con l'opzione Correzione. È possibile correggere gli utenti in un solo dominio alla volta.
Ulteriori informazioni
Serve ancora assistenza? Visitare la community Microsoft.