Wir haben vor einigen Wochen unsere interne Mailstruktur auf Exchange Server 2013 angehoben und alle Postfächer von Exchange 2010 auf Exchange 2013 verschoben. Nachdem der alte Server nach und nach auf allen Systemen, die Emails senden, entfernt wurde und auch einige Zeit ausgeschaltet war (um den Betrieb ohne den alten Server zu testen) ist es nun an der Zeit, den alten Exchange Server 2010 komplett zu entfernen. Ich habe mich im Vorfeld schlau gemacht, welche potentiellen Probleme es geben könnte und wie die Deinstallation anderen Administratoren verlaufen ist. Hilfreiche Beiträge zu diesem Thema finden sich hier:
Rolands Erinnermich – Exchange 2010: Deinstallation
Microsoft TechNet: Uninstall exchange 2010
ExchangeServerPro.com: Issue Uninstalling Exchange 2010
Besonders die Foren-Diskussion im zweiten Link ist sehr aufschlussreich, hier werden die vorhandenen Postfächer in der “alten” Datenbank mit dem folgenden Befehl abgefragt
Get-Mailbox -Database „Mailbox Database 0570800000“ -Arbitration| fl name, identity | ft -wrap -auto
In meinem Fall sieht dies wie folgt aus
Dies bedeutet, dass in der alten Mailbox noch etwas vorhanden ist. Der letzte Beitrag im TechNet-Forum von Vladimir_HmH zeigt zwei Befehle auf, die alle Arbitration-Mailboxen findet und löscht
$AllMBX = Get-Mailbox -Database "Mailbox Database XXXXXXXXX" -Arbitration | Select Name, Database $AllMBX | ForEach { Disable-Mailbox $_.Name -Arbitration -DisableLastArbitrationMailBoxAllowed }
Eine recht gute Erklärung, was Arbitration-Mailboxen sind, gibt es hier: Chris and Robin’s Technology blog – Exchange 2010 – What is an arbitration mailbox?
Um sich dieArbitration-Postfächer anzeigen zu lassen kann der folgende Befehl genutzt werden
Die rot markierte Mailbox ist die einzige auf dem Exchange Server 2010, alle anderen liegen auf dem Exchange Server 2013. Gelöscht werden kann diese Mailbox mit dem folgenden Befehl
Get-Mailbox -Arbitration -Database „Mailbox Database 0570800000“ | Remove-Mailbox -Arbitration –RemoveLastArbitrationMailboxAllowed
Das endete in meinem Fall allerdings mit der folgenden Fehlermeldung
Eine Deaktivierung hatte ebenfalls keinen Erfolg, hier sah die Fehlermeldung wie folgt aus
Eine Überprüfung der aktuellen Verschiebe-Warteschlange mit dem Befehl
Get-MoveRequest
ergab einen Treffer:
Eine Entfernung des Requests per PowerShell und per GUI auf dem Exchange 2010 brachte keinen Erfolg
Get-MoveRequest -MoveStatus Failed | Remove-MoveRequest
Die Lösung in diesem Fall war die Entfernung des Requests per PowerShell auf dem Exchange Server 2013. Drauf gekommen bin ich relativ schnell, da in dem Screenshot mit dem “Get-MoveRequest” der Datenbankname des Exchange Server 2013 steht, nicht die des Exchange Server 2010. Die Ausführung des Befehls
Get-MoveRequest -MoveStatus Failed | Remove-MoveRequest
auf dem Exchange 2013 sah dann wie folgt aus
Nachdem der Request dann endlich verschwunden ist können wir nun mit dem Löschen der Mailbox fortfahren. Dies geschieht mit dem Befehl
Disable-Mailbox „SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}“ -Arbitration -DisableLastArbitrationMailboxAllowed
und sieht wie folgt aus
An dieser Stelle wollte ich nun die Datenbank auf dem alten Exchange offline nehmen und löschen, dies wurde aber durch den folgenden Fehler blockiert
Der Befehl
Get-Mailbox –Database “Datenbankname”
zeigt, dass noch eine DiscoverySearchMailbox vorhanden ist
Diese habe ich übernommen, indem ich sie auf dem alten Server deaktiviert habe und auf dem neuen Server wieder aktiviert habe. Die Befehle hierzu sind die folgenden
Disable-Mailbox „DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}“
Enable-Mailbox „DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}“
Nun kann die Datenbank final offline und gelöscht werden
Dismount-Database „Mailbox Database 0570800000“
Remove-MailboxDatabase „Mailbox Database 0570800000“
Im nächsten Schritt entfernen wir das Offline-Adressbuch. Vorher wird überprüft, ob beide Server eins haben
Get-OfflineAddressBook
Remove-OfflineAddressBook -Identity „\Standard-Offlineadressbuch“
Eine Verschiebung ist übrigens nicht möglich (http://technet.microsoft.com/de-de/library/d0faeb2a-79d3-4ded-aa40-20f3b187b414.aspx), dann erscheint die folgende Meldung
Nun werden noch die vorhandenen Connectoren gelöscht, vorab kann ich mir die vorhandenen anzeigen lassen
Get-ReceiveConnector –Server Servername
Remove-ReceiveConnector „Name_des_Connectors”
Im Sende-Connector ist der alte Server ebenfalls noch eingetragen, hier muss er rausgeschmissen werden. Zu finden über die Konsole => Organisationskonfiguration => Hub-Transport => Sendeconnectors
Nun beginnt die Deinstallation von Exchange 2010. Diese wird über die Systemsteuerung gestartet
Alle Voraussetzungen sind erfüllt, die letzte Warnung kann ich in meinem Fall ignorieren, ich habe mir die Emails angeschaut, diese sind nicht von Belang
Nach weniger als sechs Minuten ist die Installation abgeschlossen und der Exchange 2010 ist Geschichte :)