Nachdem Teil 1 schon das Erzeugen eines Backups mit der Windows Server-Sicherung beschrieben hat und Teil 2 die Wiederherstellung eines Postfachs aus der Sicherung, sind in Teil 3 nun die weiteren Optionen dran.
Nicht immer möchte man ein vorhandenes Postfach mit dem Postfach aus der Sicherung überschreiben, weitere Möglichkeiten zur Wiederherstellung werden im folgenden beschrieben. Grundlage ist die Wiederherstellungsdatenbank aus Teil 2. Ich liste daher nur die entsprechenden Befehle für die Wiederherstellung auf.
Wiederherstellung in einen Unterordner des Postfachs
Mit dem folgenden Befehl wird das Postfach des Benutzers “Administrator” in das Postfach “Administrator” in den Unterordner “Rücksicherung” wiederhergestellt:
New-MailboxRestoreRequest -Name "Administrator" -SourceDatabase RecoveryDB -SourceStoreMailbox "Administrator" -TargetMailbox "Administrator" -TargetRootFolder "Rücksicherung"
Der Ordner “Rücksicherung” wird automatisch angelegt.
Tipp: Bevor ein komplettes Postfach in einen Unterordner des bestehenden Postfachs wiederhergestellt wird, lohnt es sich einen Blick auf die Größe des Postfachs und der konfigurierten Limits zu werfen.
Wiederherstellung in ein Archiv Postfach
Auch die Wiederherstellung in ein Archiv Postfach ist möglich. Dazu kann der folgende Befehl verwendet werden:
New-MailboxRestoreRequest -Name "Administrator" -SourceDatabase RecoveryDB -SourceStoreMailbox "Administrator" -TargetMailbox "Administrator" -TargetIsArchive
Falls der entsprechende Benutzer kein Archiv Postfach besitzt kommt es zu einer Fehlermeldung. Das Archiv Postfach wird nicht automatisch angelegt:
Ein Archiv Postfach lässt sich mit dem folgenden Befehl anlegen, damit die Wiederherstellung funktioniert:
Enable-Mailbox administrator -Archive -ArchiveDatabase FWARCH1
Wiederherstellung in ein anderes Postfach
Auch die Wiederherstellung eines Postfachs aus der Sicherung in ein anderes Postfach ist möglich. In diesem Beispiel wird das Postfach “Info” aus der Sicherung in das Postfach “Administrator” in den Unterordner “Wiederherstellung” wiederhergestellt:
New-MailboxRestoreRequest -Name "Info" -SourceDatabase RecoveryDB -SourceStoreMailbox "Info" -TargetMailbox "Administrator" -TargetRootFolder "Wiederherstellung" -AllowLegacyDNMismatch
Tipp: Auch hier sollte auf die konfigurierten Limits geachtet werden
Wiederherstellung einzelner Ordner
Wenn bekannt ist, welcher Ordner aus der Sicherung wiederhergestellt werden soll, ist dieses ebenfalls möglich. Der folgende Befehl stellt nur den Ordner “Posteingang” ohne Unterordner wieder her:
New-MailboxRestoreRequest -Name "Administrator" -SourceDatabase RecoveryDB -SourceStoreMailbox "Administrator" -TargetMailbox "Administrator" -IncludeFolders "Posteingang" -TargetRootFolder "Wiederherstellung Posteingang"
Um einen Ordner und die Unterordner wiederherzustellen kann der folgende Befehl verwendet werden:
New-MailboxRestoreRequest -Name "Administrator" -SourceDatabase RecoveryDB -SourceStoreMailbox "Administrator" -TargetMailbox "Administrator" -IncludeFolders "Posteingang/*" -TargetRootFolder "Wiederherstellung Posteingang"
Wiederherstellung einzelner Mails?
Die Wiederstellung einzelner Mails ist nicht direkt möglich. Es gibt keinen Parameter für “New-MailboxRestoreRequest” der auf bestimmte Absender oder eine bestimmte Zeitspanne filtern kann. Die Wiederherstellung einzelner Mails für einen Benutzer kann sich aber auch zu einer langwierigen Geschichte hinziehen, gerade wenn der Benutzer nicht mehr genau weiß was er sucht…
Als Alternative würde ich vorschlagen das komplette Postfach aus der Sicherung wiederherzustellen, am besten in ein separates Postfach und dem Benutzer dann Zugriff auf das Postfach zu geben:
New-MailboxRestoreRequest -Name "Administrator" -SourceDatabase RecoveryDB -SourceStoreMailbox "Administrator" -TargetMailbox "TempRestoreMailbox" -AllowLegacyDNMismatch Add-MailboxPermission TempRestoreMailbox -User Administrator -AccessRights FullAccess
Das Postfach aus der Sicherung wird in das Postfach “TempRestoreMailbox” wiederhergestellt und dem Benutzer zur Verfügung gestellt. Der Benutzer kann nun selbst nach der gewünschten Mail suchen und in sein Postfach kopieren. Nachdem der Benutzer die Mail gefunden hat, kann “TempRestoreMailbox” wieder gelöscht werden. So bläht sich das Postfach des Benutzers nicht unnötig auf und der Admin muss nicht stundenlang nach einer Mail suchen.
MailboxRestoreRequests anzeigen oder löschen
Vorhandene MailboxRestoreRequests lassen sich mit den folgenden Befehlen anzeigen:
Get-MailboxRestoreRequest Get-MailboxRestoreRequest | Get-MailboxRestoreRequestStatistics
Mit dem folgenden Befehl lassen sich alle RestoreRequests löschen:
Get-MailboxRestoreRequest | Remove-MailboxRestoreRequest
MailboxRestoreRequest hängt im Status “Queued”
Für den Fall, dass MailboxRestoreRequests im Status “Queued” hängen bleiben und folgende Fehlermeldung im Eventlog protokolliert wird:
EventID 1006
Quelle: MSExchange Mailbox Replication
The Microsoft Exchange Mailbox Replication service was unable to process jobs in a mailbox database.
Database: RecoveryDB
Error: MapiExceptionRecoveryMDBMismatch: Unable to open message store. (hr=0x80004005, ec=1165)
Diagnostic context:
Lid: 55847 EMSMDBPOOL.EcPoolSessionDoRpc called [length=132]
Lid: 43559 EMSMDBPOOL.EcPoolSessionDoRpc returned [ec=0x0][length=248][latency=1]
Bei mir hat es bisher immer geholfen den Dienst “Microsoft Exchange-Postfachreplikation” neu zu starten:
Löschen der Wiederherstellungsdatenbank
Nach der Wiederherstellung der entsprechenden Daten, kann die Wiederherstellungsdatenbank wieder gelöscht werden:
Dismount-Database RecoveryDB Remove-MailboxDatabase RecoveryDB
Danach können die Datenbankdateien gelöscht werden, diese werden nicht automatisch gelöscht und belegen nach der Wiederherstellung der Daten nur unnötig Speicherplatz:
Vielen Dank für die Mühe, ein tolle Anleitung. Da es kein Single-Item Recovery gibt, bin ich mir sicher, dass dein Umweg mit dem Wiederherstellen in einem temporären Postfach vielen Menschen helfen wird.