In einer Testlab Umgebung kann es vorkommen, dass einzelne Maschinen kaputt gehen. Bei uns war beispielsweise nach einer Hyper-V Hostmigration von Windows Server 2012 R2 auf Windows Server 2016 ein Exchange Server 2013 kaputt, der Teil einer DAG war. Diese virtuelle Maschine konnte nicht wiederhergestellt werden. Normalerweise erstellt man hier einfach eine komplett neue Maschine und konfiguriert Exchange manuell. Mit der RecoverServer Option gibt es allerdings eine schnellere Alternative.<br/><br/>
 

Um einen Exchange Server wiederherstellen zu können, müssen einige Voraussetzungen [1] erfüllt sein:>
  1. Auf der neuen Maschine muss das gleiche Betriebssystem installiert sein, wie auf der alten, kaputten Maschine
  2. Die vorher genutzten Laufwerksbuchstaben müssen auch auf dem neuen Server verfügbar sein
  3. Die neue Maschine muss die gleichen Leistungsmerkmale aufweisen, wie die alte Maschine
Für unsere virtualisierte Testumgebung bedeutet dies, dass wir eine neue virtuelle Maschine erstellen, welche die gleichen Eigenschaften hat wie unsere nicht mehr funktionierende. Anschließend wird das Betriebssystem und die Vorraussetzungen für Exchange 2013 installiert.

In unserem Fall handelt es sich um einen Mailbox und CAS Server. Der folgende PowerShell Befehl installiert alle hierfür notwendigen Windows-Komponenten.
Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS
Anschließend muss nur noch die Microsoft Unified Communications Managed API 4.0, Core Runtime 64-Bit [2] installiert werden.



Im Anschluss muss das alte Exchange Server Objekt im Active Directory zurückgesetzt werden. Hierzu muss das Snap-In Active Directory Users and Computers geöffnet, und das alte Exchange-Server Objekt ausgewählt werden. Mit einem Rechtsklick und Reset Account, wird das Objekt zurückgesetzt.



Nun kann die Wiederherstellungsinstallation des Exchange Servers beginnen. Hierzu wird in der virtuellen Maschine das Exchange Installationsmedium eingelegt und eine Eingabeaufforderung (cmd) mit Administratorrechten im Pfad der Exchange Setupdatei geöffnet. Mit dem foglenden Befehl startet die Wiederherstellungsinstallation.
Setup /m:RecoverServer /IAcceptExchangeServerLicenseTerms





Hier werden zunächst die Voraussetzungen für die Exchange Installation überprüft. Da unser Exchange Server Teil einer DAG war, muss diese noch angepasst werden.

Mit dem nachfolgenden Befehl kann der alte Exchange Server aus der DAG entfernt werden. Hierbei werden Fehler auftreten, da es noch Kopien von Postfachdatenbanken des alten Exchange Servers gibt.
Remove-DatabaseAvailabilityGroupServer -Identity <DatabaseAvailabilityGroupIdParameter> -MailboxServer <ServerIdParameter> -ConfigurationOnly
Diese können mit dem folgendem Befehl entfernt werden.
Remove-MailboxDatabaseCopy -Identity "<Mailbox Database Name\Server>"


Anschließend sollte der Server ohne Fehlermeldung aus der DAG entfernt werden können.
Auf dem neuen Exchange Server kann nun die Wiederherstellungsinstallation erneut gestartet werden und erfolgreich ausgeführt werden.



Man hat nun einen fertig konfigurierten Exchange Server ohne Leichen im Active Directory. Lediglich die DAG muss neu eingerichtet werden [3].

[1] https://technet.microsoft.com/de-de/library/dd876880(v=exchg.150).aspx - Wiederherstellen eines Exchange-Servers
[2] https://go.microsoft.com/fwlink/p/?linkId=258269 - Microsoft Unified Communications Managed API
[3] https://technet.microsoft.com/de-de/library/dd638206(v=exchg.150).aspx