Dela via


Problem med arkivpostlåda för en postlåda som migreras till eller från Microsoft 365

Ursprungligt KB-nummer: 2757430

Problem

När du migrerar en postlåda till eller från Microsoft 365 och använder en arkivpostlåda uppstår ett problem där Microsoft Exchange Mailbox Replication Service (MRS) i Microsoft Exchange Online stämplar måldomänvärdet för egenskapen ArchiveDomain för postlådan i slutet av migreringen.

Obs!

Problemet bör inte inträffa på ett konto som inte har en arkivpostlåda.

Det finns fem scenarier som är relaterade till arkivpostlådor. Varje scenario kräver olika lösningar.

  • Scenario 1 – Registrering: Du flyttar dina lokala Microsoft Exchange Server postlådor till Exchange Online.
  • Scenario 2 – Registrering: Arkivpostlådan finns i Exchange Online och du flyttar din primära postlåda från din lokala Exchange Server miljö till Exchange Online.
  • Scenario 3 – Avregistrering: Du aktiverar en arkivpostlåda och migrerar sedan både dina primära postlådor och arkivpostlådor från Exchange Online till din lokala Exchange Server miljö. Ett liknande scenario inträffar när din primära postlåda redan är lokal och du bestämmer dig för att avregistrera arkivpostlådan från Exchange Online till din lokala Exchange Server miljö.
  • Scenario 4 – Avregistrering: Din primära postlåda har ingen arkivpostlåda aktiverad och du flyttar din primära postlåda från Exchange Online till din lokala Exchange Server miljö.
  • Scenario 5 – Avregistrering: Din primära postlåda finns i din lokala Exchange Server miljö och arkivpostlådan finns i Exchange Online. Det här scenariot kan inträffa när du utför någon av följande åtgärder:
    • Du avregistrerar din primära postlåda. Du lämnar dock arkivpostlådan i Exchange Online.
    • Både primära postlådor och arkivpostlådor finns i din lokala Exchange Server miljö. Men du registrerar bara arkivpostlådan.

    Obs!

    Det enda scenario för arkivdelning som stöds är en primär postlåda lokalt och en arkivpostlåda i Exchange Online.

Orsak

Det här problemet uppstår om en postlåda migreras mellan en lokal Exchange Server miljö och Exchange Online.

Om du använder följande Windows PowerShell cmdlet för att visa arkivegenskaperna ser du att arkivstatusen är Aktiv. En stor del av arkivinformationen saknas dock.

Get-Mailbox alias |fl Name, Archive*

Obs!

Du kan använda antingen det lokala Exchange Management Shell eller Exchange Online PowerShell för att köra cmdleten. Mer information om hur du använder Exchange Online PowerShell finns i Ansluta Windows PowerShell till tjänsten.

När du kör cmdleten liknar resultatet följande:

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

Lösning

Lös problemet genom att använda någon av följande metoder, beroende på vad som är lämpligt för ditt scenario.

Scenario 1

Problemet i scenario 1 löstes på följande sätt: Alla registreringsmigreringar till Exchange Online åtgärdas och egenskapen ArchiveDomain har inte längre angetts förrän arkivpostlådan har aktiverats av klientadministratören.

Innan det här problemet löstes rapporterade användarna förekomsten av en arkivpostlåda i Outlook och fick autentiseringsprompter. Användarna kan dock inte se samma arkivpostlåda i Outlook Web App. (Microsoft refererar till arkivet som ett "spökarkiv" eftersom det inte är en sann arkivpostlåda som kan nås av användare.

Scenario 2

Problemet i scenario 2 löstes på följande sätt: MRS-komponenten som ansvarar för att flytta postlådor tar nu korrekt hänsyn till förekomsten av en Exchange Online arkivpostlåda. Därför kan användarna få korrekt åtkomst till sina arkivpostlådor i Outlook eller Outlook Web App utan fel. Ingen åtgärd krävs.

Scenario 3

Problemet i båda varianterna av scenario 3 löses på följande sätt: MRS i Exchange Online anger värdet för egenskapen ArchiveDomain till den lokala domänen. Därför kan användarna få korrekt åtkomst till sina arkivpostlådor i Outlook eller Outlook Web App utan fel. Ingen åtgärd krävs.

Scenario 4

Problemet i scenario 4 löstes på följande sätt: I det här scenariot anger MRS i Exchange Online värdet för egenskapen ArchiveDomain till den lokala domänen. Därför ser användarna förekomsten av en arkivpostlåda i Outlook, även om arkivpostlådan inte är aktiverad. Det här arkivet liknar "spökarkivet" som nämns i avsnittet "Lösning" för scenario 1. Arkivet kräver dock fortfarande att Exchange-administratören för den lokala Exchange Server miljön kör skriptet som finns i avsnittet "Lösning av scenario 5". Microsoft distribuerade en uppdatering för att lösa det här scenariot. Därför påverkas inte framtida avregistrering.

För att avgöra om du påverkas när du utför en avregistreringsmigrering från Exchange Online kör du skriptet som finns i avsnittet "Lösning av scenario 5" i genomsökningsläge.

Scenario 5

I det här scenariot anges värdet för egenskapen ArchiveDomain till den lokala domänen. Därför kan Outlook inte hitta och öppna arkivpostlådan.

För att lösa scenarier 4 och 5 tillhandahåller Microsoft följande skript för att ändra nödvändiga attribut automatiskt om du flyttar dina postlådor från Exchange Online tillbaka till din lokala Exchange Server miljö. Följ dessa steg för att köra skriptet:

  1. Starta Anteckningar.
  2. Kopiera och klistra in följande skript i Anteckningar:
#-------------------------------------------------------------------------------
#
# 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. Klicka på SparaArkiv-menyn.
  2. I rutan Spara som typ klickar du på Alla filer (.).
  3. I rutan Filnamn typeCleanup-ArchiveDomain.ps1 och klickar sedan på Spara.
  4. Leta upp katalogen där du sparade Cleanup-ArchiveDomain.ps1-filen och kör sedan skriptet tillsammans med följande parametrar:
Cleanup-ArchiveDomain.ps1 [-TenantCloudDomain serviceDomain] [-Domain domain] [-Fix] [-FindAllUsersInForest]

Obs!

  • Parametern TenantCloudDomain bör endast anges om klientorganisationen använder funktioner för molnarkiv. Värdet för parametern ska vara det DNS-domännamn som klientorganisationen använder för att komma åt molnarkiv, till exempel contoso.com.
  • Domänparametern används för att köra rensningsfunktioner i en domän som inte är domänen för den aktuella datorn.
  • Växeln Åtgärda utlöser den faktiska rensningsfunktionen. Standardfunktionen för växeln (kallas även "genomsökningsläge") är bara att hitta användarna och sedan mata ut dem till en CSV-fil.
  • VäxelnFindAllUsersInForest söker i en global katalog och hittar alla berörda användare i den lokala skogen (över alla domäner). Den här växeln kan dock inte kombineras med fix-växeln. Du kan bara åtgärda användare i en domän i taget.

Mer information

Behöver du fortfarande hjälp? Gå till Microsoft Community.