Blog durchsuchen

Dienstag, 8. November 2016

Autodiscover

"Die Geschichte von Exchange Autodiscover ist eine Geschichte voller Missverständnisse...."


Autodiscover ist eines der wichtigsten Tools bei dem man leider auch immer wieder viel falsch machen oder vergessen kann. 

Vor allem im Hinblick auf Hochverfügbarkeit mit einem Loadbalancer oder bei einer Hybridkonfiguration gibt es hier einige Stolpersteine die es zu meistern gibt. 


Wie fragen Clients Autodiscover ab?
  1. Service Connection Point (SCP) aus dem AD
  2. Abfrage URL https://domain/autodiscover/autodiscover.xml
  3. Abfrage URL https://autodiscover.domain/autodiscover/autodiscover.xml
  4. Abfrage URL http://autodiscover.domain/autodiscover/autodiscover.xml
  5. Abfrage SRV Record _autodiscover._tcp.domain
  6. Lokale autodiscover.xml 
Lokale Outlook-Clients in der Domäne verwenden also in der Regel immer den SCP-Eintrag welcher im Active Directory zu finden ist. 

Diesen Wert kann man in der Exchangeconsole abgefragen mittels dem Befehl:
Get-ClientAccessService Servername | fl autodiscover*

Setzen sollte man den Wert mittels:
 Set-ClientAccessService Servname -AutoDiscoverServiceInternalUri "Autodiscover.domain.com/Autodiscover/Autodiscover.xml"
Wobei darauf zu achten ist, dass der Hostname dann auch im DNS konfiguriert wird. (Host-Eintrag für Autodiscover in der Zone domain.com)

Hier ist auch gleich ein möglicher Stolperstein zu umgehen: Bei der Installation von Exchange wird dieser Wert nämlich automatisch auf den Wert "Servername.domain.com" gesetzt. (also den internen Rechnernamen in der lokalen domäne). Das funktioniert bei einem einzigen Server auch ohne Probleme. Wenn dann allerdings mehrere Server ins Spiel kommen, wird es schon problematischer: Wenn ein neuer Server installiert wird, kommt eben besagter Eintrag (der mit dem internen Namen) hinzu und dieser steht dann blöderweise oft an erster Stelle. Clients fragen also das AD nach dem Autodiscover Service Connection Point (SCP) ab und bekommen den internen Namen des Servers. Bei grösseren Installationen kann es daher etwas unangenehm werden, wenn alle Clients primär den einen Server abfragen, anstatt auf einen "lastverteilten" DNS-Eintrag zu zeigen. (Achtung auch auf zusätzliche Server bei bestehenden Installationen)


Wie kann man überprüfen ob und wie Autodiscover konfiguriert ist?

  1. Mittels der Seite https://testconnectivity.microsoft.com/ kann man neben allen anderen Zugriffsarten aus dem Internet, auch Autodiscover testen.  
  2. In der Shell wie oben beschrieben mit Get-ClientAccessService Servername| fl autodiscover* überprüfen ob der  richtige Wert bei "AutodiscoverInternalURI" steht. 
  3. Will man direkt im Active Directory mittels ADSI nachsehen (nur für erfahrene Benutzer), kann man den Wert im Naming Context "Configuration" finden unter:
    Configuration/Services/Microsoft Exchange/NameDerOrganisation/Adminstrative Groups/Exchange Administrative Group (FYDIBOHF23SPDLT)/Servers/NameDesServers/Protocols/Autodiscover und dann auf das Objekt mit dem Servernamen rechtsklicken und die Eigenschaften anzeigen. Der richtige Wert sollte zu finden sein beim Attribut: serviceBindingInformation. 
  4. Im internen als auch im externen DNS-Manager sollte es jeweils einen Host-Eintrag für Autodiscover geben. Dieser Eintrag sollte auf die Loadbalancer-Ip-Adresse zeigen oder zumindest mit RoundRobin eine Verteilung auf mehrere Server machen.
  5. Überprüfen der Autodiscover-URL im Browser.
    Wenn man im Browser seiner Wahl die Autodiscover-Adresse ("https://autodiscover.domain.com/autodiscover/autodiscover.xml") eingibt, sollte als Antwort ein Windows Security Fenster für die User-Credentials und nach erfolgter Eingabe eine XML-Seite mit dem ErrorCode 600 angezeigt werden.
 Weiters Wichtig:
  1. Da Zugriffe aus dem Internet ausschliesslich über SSL erfolgen sollten, sollte das Zertifikat auf dem Exchange-Server den SAN Wert autodiscover.domain.com beinhalten. 
  2. Nachdem man den Wert für Autodiscover ändert, kann es mitunter eine gewisse Zeit dauern bis der Wert durch die AD-Replikation auf alle Domänencontroller verteilt ist.
  3. Sobald es mehr als einen Exchange-Server gibt, sollte ein Loadbalancer eingesetzt werden und Autodiscover auf eine lastverteilte IP zeigen.
  4. Bei einer Hybridkonfiguration gelten leider sehr eigene Gesetzte, welche am besten hier seperat erklärt werden. 

So - und für alle die bis hierhin durchgehalten haben und sich richtige "Exchange-Nerds" schimpfen wollen, gibts hier noch ein kleines Leckerli :-)

Keine Kommentare:

Kommentar veröffentlichen