Freigeben über


Archivieren von Postfachproblemen für ein Postfach, das zu oder von Microsoft 365 migriert wird

Ursprüngliche KB-Nummer: 2757430

Problem

Wenn Sie ein Postfach zu oder von Microsoft 365 migrieren und ein Archivpostfach verwenden, tritt ein Problem auf, bei dem der Microsoft Exchange-Postfachreplikationsdienst (MRS) in Microsoft Exchange Online den Zieldomänenwert der ArchiveDomain-Eigenschaft des Postfachs am Ende der Migration Stempelt.

Notiz

Das Problem sollte nicht auf einem Konto auftreten, das nicht über ein Archivpostfach verfügt.

Es gibt fünf Szenarien, die sich auf Archivpostfächer beziehen. Für jedes Szenario ist eine andere Auflösung erforderlich.

  • Szenario 1 – Onboarding: Sie verschieben Ihre lokalen Microsoft Exchange Server-Postfächer in Exchange Online.
  • Szenario 2 – Onboarding: Ihr Archivpostfach ist in Exchange Online vorhanden, und Sie verschieben Ihr primäres Postfach aus Ihrer lokalen Exchange Server-Umgebung in Exchange Online.
  • Szenario 3 – Offboarding: Sie aktivieren ein Archivpostfach und migrieren dann sowohl Ihre primären als auch die Archivpostfächer von Exchange Online zu Ihrer lokalen Exchange Server-Umgebung. Ein ähnliches Szenario tritt auf, wenn Ihr primäres Postfach bereits lokal ist und Sie beschließen, Ihr Archivpostfach von Exchange Online in Ihre lokale Exchange Server-Umgebung zu deaktivieren.
  • Szenario 4 – Offboarding: Ihr primäres Postfach hat kein Archivpostfach aktiviert, und Sie verschieben Ihr primäres Postfach aus Exchange Online in Ihre lokale Exchange Server-Umgebung.
  • Szenario 5 – Offboarding: Ihr primäres Postfach ist in Ihrer lokalen Exchange Server-Umgebung vorhanden, und Ihr Archivpostfach ist in Exchange Online vorhanden. Dieses Szenario kann auftreten, wenn Sie eine der folgenden Aktionen ausführen:
    • Sie offboarden Ihr primäres Postfach. Sie verlassen ihr Archivpostfach jedoch in Exchange Online.
    • Sowohl primäre als auch Archivpostfächer befinden sich in Ihrer lokalen Exchange Server-Umgebung. Sie integrieren jedoch nur Ihr Archivpostfach.

    Notiz

    Das einzige unterstützte Szenario für die Geteilte Archivierung ist ein primäres postfach lokal und ein Archivpostfach in Exchange Online.

Ursache

Dieses Problem tritt auf, wenn ein Postfach zwischen einer lokalen Exchange Server-Umgebung und Exchange Online migriert wird.

Wenn Sie das folgende Windows PowerShell-Cmdlet verwenden, um die Archiveigenschaften anzuzeigen, stellen Sie fest, dass der Archivstatus aktiv ist. Allerdings fehlt ein Großteil der Archivinformationen.

Get-Mailbox alias |fl Name, Archive*

Notiz

Sie können entweder die lokale Exchange-Verwaltungsshell oder Exchange Online PowerShell verwenden, um das Cmdlet auszuführen. Weitere Informationen zur Verwendung von Exchange Online PowerShell finden Sie unter "Verbinden von Windows PowerShell mit dem Dienst".

Wenn Sie das Cmdlet ausführen, sieht das Ergebnis wie folgt aus:

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ösung

Um dieses Problem zu beheben, verwenden Sie eine der folgenden Methoden, wie sie für Ihr Szenario geeignet sind.

Szenario 1

Das Problem in Szenario 1 wurde wie folgt behoben: Alle Integrationsmigrationen in Exchange Online werden behoben, und die ArchiveDomain-Eigenschaft wird nicht mehr festgelegt, bis das Archivpostfach vom Mandantenadministrator aktiviert ist.

Bevor dieses Problem behoben wurde, meldeten Benutzer das Vorhandensein eines Archivpostfachs in Outlook und empfangene Authentifizierungsaufforderungen. Benutzer können jedoch nicht dasselbe Archivpostfach in Outlook Web App sehen. (Microsoft bezieht sich auf das Archiv als "Geisterarchiv", da es sich nicht um ein echtes Archivpostfach handelt, auf das benutzer zugreifen können.

Szenario 2

Das Problem in Szenario 2 wurde wie folgt behoben: Die MRS-Komponente, die für das Verschieben von Postfächern verantwortlich ist, ist jetzt ordnungsgemäß faktoren im Vorhandensein eines Exchange Online-Archivpostfachs. Daher können Benutzer ohne Fehler ordnungsgemäß auf ihre Archivpostfächer in Outlook oder Outlook Web App zugreifen. Es ist keine Aktion erforderlich.

Szenario 3

Das Problem in beiden Varianten von Szenario 3 wurde wie folgt behoben: MRS in Exchange Online legt den Wert der ArchiveDomain-Eigenschaft auf die lokale Domäne fest. Daher können Benutzer ohne Fehler ordnungsgemäß auf ihre Archivpostfächer in Outlook oder Outlook Web App zugreifen. Es ist keine Aktion erforderlich.

Szenario 4

Das Problem in Szenario 4 wurde wie folgt behoben: In diesem Szenario legt MRS in Exchange Online den Wert der ArchiveDomain-Eigenschaft auf die lokale Domäne fest. Daher wird benutzern das Vorhandensein eines Archivpostfachs in Outlook angezeigt, obwohl das Archivpostfach nicht aktiviert ist. Dieses Archiv ähnelt dem "Geisterarchiv", das im Abschnitt "Lösung" für Szenario 1 erwähnt wird. Das Archiv erfordert jedoch weiterhin den Exchange-Administrator der lokalen Exchange Server-Umgebung, um das Skript auszuführen, das im Abschnitt "Lösung von Szenario 5" bereitgestellt wird. Microsoft hat ein Update bereitgestellt, um dieses Szenario zu beheben. Daher werden zukünftige Offboardings nicht betroffen sein.

Um festzustellen, ob Sie betroffen sind, wenn Sie eine Offboardingmigration von Exchange Online durchführen, führen Sie das Skript aus, das im Abschnitt "Auflösung von Szenario 5" im Scanmodus bereitgestellt wird.

Szenario 5

In diesem Szenario wird der Wert der ArchiveDomain-Eigenschaft auf die lokale Domäne festgelegt. Daher kann Outlook das Archivpostfach nicht finden und öffnen.

Um Szenarien 4 und 5 zu beheben, stellt Microsoft das folgende Skript bereit, um die erforderlichen Attribute automatisch zu ändern, wenn Sie Ihre Postfächer von Exchange Online zurück in Ihre lokale Exchange Server-Umgebung verschieben. Gehen Sie folgendermaßen vor, um das Skript auszuführen:

  1. Starten Sie Editor.
  2. Kopieren Sie das folgende Skript, und fügen Sie es in Editor ein:
#-------------------------------------------------------------------------------
#
# 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. Klicken Sie im Menü Datei auf Speichern.
  2. Klicken Sie im Feld "Dateityp " auf " Alle Dateien (.)".
  3. Geben Sie im Feld "Dateiname " den Namen "Cleanup-ArchiveDomain.ps1" ein, und klicken Sie dann auf " Speichern".
  4. Suchen Sie das Verzeichnis, in dem Sie die Datei Cleanup-ArchiveDomain.ps1 gespeichert haben, und führen Sie dann das Skript zusammen mit den folgenden Parametern aus:
Cleanup-ArchiveDomain.ps1 [-TenantCloudDomain serviceDomain] [-Domain domain] [-Fix] [-FindAllUsersInForest]

Notiz

  • Der Parameter TenantCloudDomain sollte nur angegeben werden, wenn der Mandant Cloudarchivfunktionen verwendet. Der Wert des Parameters sollte der DNS-Domänenname sein, den der Mandant für den Zugriff auf Cloudarchive verwendet, z . B. contoso.com.
  • Der Parameter "Domain" wird verwendet, um Bereinigungsfunktionen in einer Domäne auszuführen, die nicht die Domäne des aktuellen Computers ist.
  • Der Fixschalter löst die tatsächliche Bereinigungsfunktion aus. Die Standardfunktion des Schalters (auch als "Scanmodus" bezeichnet) besteht darin, die Benutzer zu finden und diese dann in eine CSV-Datei auszugeben.
  • Der SwitchFindAllUsersInForest durchsucht einen globalen Katalog und findet alle betroffenen Benutzer in der lokalen Gesamtstruktur (in allen Domänen). Dieser Schalter kann jedoch nicht mit dem Fixschalter kombiniert werden. Sie können Benutzer nur in einer Domäne gleichzeitig beheben.

Weitere Informationen

Benötigen Sie weitere Hilfe? Navigieren Sie zu Microsoft Community.