Exchange Migration – Fallstrick Autodiscover

(Dieser Beitrag wurda am 17. März 2021 aktualisiert.)

Fallstrick "Autodiscover" bei der Migration auf Exchange Server 2016

<<< Step 3 – Installation Exchange Server 2016 | Übersicht Action Plan | Step 5 – Konfiguration der Konnektoren >>>

Achtung, dieser "Fallstrick" existiert nur, wenn bereits ein Exchange Server in der Domain installiert ist. Bei einer Neuinstallation treten diese Probleme im Regelfall nicht auf.

Exchange 2016 stellt mit dem letzten Installationsschritt "Client Access Front End Service", einen servereigenen Autodiscover Service Record für die Clients bereit, welcher auf seinen "Systemnamen" zeigt. Hier präsentiert er natürlich sein, bei der Installation erstelltes, selbstsigniertes Zertifikat, welchem die Clients natürlich (noch) nicht "vertrauen". Das führt im Regelfall zu Zertifikatsfehlermeldungen, bei den verbundenen Outlook Clients, speziell wenn der Name des Servers alphabetisch vor einem bestehenden Server kommt. In diesem Fall "findet" Outlook diesen Record nämlich "zuerst" und verbindet sich dorthin. Der neue Server ist natürlich noch gar nicht für diese Anfragen konfiguriert, was zu o.g. Fehlern und somit direkt nach der Installation des Server zu Verwirrungen und ggfs. auch zu einem erhöhten Cal Aufkommen im Service Bereich führt. Um dieses Problem zu "umschiffen" und in Ruhe seine Migration vorbereiten zu können, sollte direkt nach der Exchange-Installation dieser Record "manuell" auf den bestehenden Mailserver geändert werden. Dazu verwendet man entweder die Exchange PowerShell oder für grafischen Kollegen das Tool "ADSI Edit", welches (wenn die Voraussetzungen alle erfüllt sind!) bereits auf dem neuen Exchange Server aktiviert wurde.

Der Weg über die Exchange PowerShell

Name des bestehenden Exchange Servers: MAIL01
Name des neuen Mailservers: XXXXMAIL
bestehende und funktionierende AutoDiscoverURL (Beispiel): https://mail01.contoso.net/Autodiscover/autodiscover.xml

  1. Record anzeigen… (auf dem Exchange 2010)
    Get-ClientAccessServer | fl *InternalUri*
  2. Die angezeigte URL https://…. kopieren und sichern… (in meinem Testbeispiel lautet diese https://mail01.contoso.net/Autodiscover/autodiscover.xml
  3. Nach erfolgter Installation Abfrage der Records mit:
    (Wie man sieht, ändere ich das cmdlet in ClientAccessService, da das obige irgendwann entfällt und frage zusätzlich nach dem Namen, damit ich die Einträge unterscheiden kann, denn wie beschrieben wird der Record pro Server gesetzt!)

    Get-ClientAccessService | fl Name,*InternalUri*

  4. Anpassung der AutoDiscoverURL, auf dem Exchange Server 2016 (natürlich mit der Exchange PowerShell):
    (XXXXXMAIL ist hierbei der Name des neuen Exchange Servers und https://mail01.contoso.net/Autodiscover/autodiscover.xml der bestehende Autodiscover Record…)

    Set-ClientAccessService -Identity XXXXXMAIL-AutoDiscoverServiceInternalUri https://mail01.contoso.net/Autodiscover/autodiscover.xml
  5. Prüfung der Einstelllungen wieder mit:
    Get-ClientAccessService | fl name,*InternalUri*

  6. Jetzt sollten die Clients sich wieder mit dem bekannten Record verbinden und die Fehlermeldungen sollten verschwinden…

Grafische Variante mit "ADSI Edit"…

        1. Starte ADSIEDIT (Windows Icon -> tippe adsiedit
        2. Verbinde Dich mit der Konfiguration der aktuellen Domain…
        3. Navigiere zum bestehenden Mailserver, in meinem Fall "MAIL01"
        4. Kopiere den aktuellen Autodicover Record und paste ihn in ein Text-File. Das Attribut des Interesses lautet "ServiceBindingInformation"…
        5. Die Konsole gleich offen lassen, wir brauchen Sie gleich wieder…
        6. Sobald die Installation des Exchange Server 2016 abgeschlossen ist, einfach die Ansicht des Editors aktualisieren! Der neue Server sollte jetzt hier gelistet sein. Jetzt adäquat zu oben den Eintrag suchen und dieses Mal mit dem "alten" Eintrag ersetzen!