Autodiscover mit Outlook

Outlook ist immer noch für die meisten Anwender der primäre Client. Outlook nutzt die auf Autodiscover Grundlagen beschriebenen Weg. Dennoch gibt es auch zu Outlook noch einige Sonderfunktionen zu beschreiben. Outlook ist z.B. der vermutlich einzige Client, der auch per LDAP im lokalen Active Directory einen Service Connection Point (Siehe Autodiscover SCP) sucht.

Achtung Outlook 2016
Mit Outlook 2016 können Sie keine manuelle Konfiguration für Exchange Postfächer mehr abgeben. Hier muss Autodiscover funktionieren.

Outlook scheint bei der Verwendung des SCP immer den "ältesten" CAS-Server in der AD-Site zu nutzen. Dies ist wohl noch ein Fehler in Outlook, welches bei der LDAP-Anfrage zwar ein Array bekommt, aber immer den ersten (ältesten) Eintrag nutzt. Wohl dem, der die SCP-URLs auf einen generischen Namen gelegt, hat, welcher per LoadBalancer einen verfügbaren CAS erreicht.

Angeblich ist dieses Verhalten "By Design", da der neueste Eintrag ja vielleicht noch ein Server ist, dessen Einrichtung noch nicht abgeschlossen ist.

TLS 1.2 und Windows 7

Beachten Sie bitte, dass Windows 7 kein TLS 1.2 per Default anbietet. Wenn z.B. der von extern erreichbare Autodiscover-Zugang seinerseits TLS 1.2 erzwingt, kommt Windows 7 mit Outlook 2010/2013/2016 nicht mehr an das System. Das entsprechende Update (Service Pack 1) zur Nachrüstung von TLS 1.2 sollten mittlerweile alle PC über Windows Update bekommen haben.

Allerdings benötigen Sie noch einen Eintrag in der Registrierung, dass der Client auch TLS 1.2 mit anbietet:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

Erst dann können solche Partner eine Verbindung eingehen. Eine Software könnte auch selbst ohne diese globale Vorgabe eine TLS-Verbindung mit TLS 1.2 aufbauen. Dies kann per API angegeben werden. Outlook verlässt sich hier aber auf die Defaults

Outlook 2007/2010 und Autodiscover

Outlook 2007 ist von Hause aus auf Autodiscover eingestellt. Dazu nutzt Outlook sowohl das Active Directory als auch DNS.

Achtung
Outlook liest das Feld "mail" aus dem Active Directory aus. Sollte, warum auch immer, diese Adresse nicht der primären SMTP-Adresse entsprechen, dann funktioniert Autodiscover nicht. Das Feld kann ein Admin über die MMC für Benutzer und Computer unabhängig von Exchange ändern .Ein "Update-Recipient" fixt sowas.

  • Gruppenrichtlinien
    Man kann mit der "Outlk12.ADM"-Vorlage die Autodiscover Einstellungen steuern. Sie sind unter
Pfad: User Configuration\Administrative Templates\ Microsoft Office Outlook 2007\Tools | Accounts settings\Exchange
Eintrag: Automatically configure profile based on Active Directory primäry SMTP address
  • Lokale Registry
    Was eine Gruppenrichtlinie kann, kann man auch per REGEDIT lokal eintragen und vorgeben. Allerdings ist das nicht so bequem, wenn man mehrere Systeme hat. Die XML-Datei müssen Sie auch natürlich auch erst noch erzeugen. Dann ist es fast besser die XML-Datei auf einem internen Webserver bereit zu halten.
[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\Autodiscover]
"msxfaq.de"="%programfiles%\Microsoft Office\Office12\msxfaq.de.xml"
<?xml version="1.0" encoding="utf-8" ?> 
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
  <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <Account>
      <AccountType>email</AccountType> 
      <Action>redirectURL</Action> 
      <RedirectURL>https://autodiscover.msxfaq.de/autodiscover/autodiscover.xml</RedirectURL> 
    </Account>
  </Response>
</Autodiscover>
  • Service Connection Point, wenn Anwender am Active Directory angemeldet ist
    Auch dieser Eintrag verweist Outlook auf die passende interne URL. Natürlich können Sie auch diesen Eintrag manuell vornehmen. Hier ein Muster eine LDIF-Datei:
version: 1
objectClass: top
objectClass: leaf
objectClass: connectionPoint
objectClass: serviceConnectionPoint
cn: SRV01
distinguishedName: CN=SRV01,CN=Autodiscover,CN=Protocols,CN=SRV01,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=MSXFAQ,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=MSXFAQ,DC=de
instanceType: 4
showInAdvancedViewOnly: TRUE
name: SRV01
objectGUID:: J5fERgH1HEOrf1V1dAoEmA==
keywords: Site=Paderborn
keywords: 77378F46-2C66-4aa9-A6A6-3E7A48B19596
systemFlags: 1073741824
serviceClassName: ms-Exchange-AutoDiscover-Service
serviceBindingInformation: https://SRV01.msxfaq.de/Autodiscover/Autodiscover.xml
serviceDNSName: SRV01
objectCategory: CN=Service-Connection-Point,CN=Schema,CN=Configuration,DC=msxfaq,DC=de
  • DNS Abfragen
    Outlook bemüht einfach den DNS-Server, um Autodiscover auf einen Webserver aufzulösen und von dort die XML-Datei zur Konfiguration zu erhalten. Ab Outlook 2007 SP1 muss das nicht mehr ein "A-Record" mit den Namen AUTODISCOVER sein, sondern ab da funktioniert dann auch ein SRV-Record. Das spart auf dem Webserver einen Namen im Zertifikat. (Siehe auch SAN-Zertifikate) und "940881 A new feature is available that enables Outlook 2007 to use DNS Service Location (SRV) records to locate the Exchange Autodiscover service"

_autodiscover._tcp.msxfaq.com SRV priority=0, weight=100, port=443, owa.msxfaq.com

If Outlook is running on a domain-joined computer, Outlook first queries the Active Directory für a Service Connection Pointer (SCP) object.
Quelle: http://office.microsoft.com/search/redir.aspx?AssetID=AM102105061033

Da stellt sich natürlich die Frage was Firmen ohne Exchange 2007 machen, die Outlook 2007 einsetzen. Auch hier versucht Outlook den Service Connection Point zu suchen, aber wird ihn nicht finden. (Man kann ihn als Administrator von Hand anlegen.) und Outlook fragt natürlich auch nach dem DNS-Namen. Solange es beides nicht gibt, ist fast nichts von dieser versteckten Outlook Funktion zu sehen.

Autodiscover per SCP

Wie ich auf Autodiscover SCP schon geschrieben habe, ist Outlook meines Wissens der einzige Client, der per LDAP im lokalen Active Directory nach einem Service Connection Point sucht und dann entsprechend der AD-Site einen Exchange Server anspricht. Interessanterweise ist Outlook bei der Nutzung dieser per LDAP ermittelten URL überhaupt nicht empfindlich und akzeptiert nahezu jedes Zertifikat. Das dürfte auch der Grund sein, dass viele Administratoren intern mit einem "Self Signed Zertifikat" auf dem Exchange Server keine Probleme haben.

Das fällt immer erst dann auf, wenn z.B. Skype for Business oder andere Clients ins Spiel kommen, die intern per Autodiscover und DNS die Funktion ansprechen und dann natürlich über unpassende Zertifikate stolpern.

Autodiscover mit Outlook "testen"

Outlook enthält eine kleine aber wichtige Funktion, um die Auflösung der Autodiscover-Funktion zu prüfen. Sie ist, wie auch andere Funktionen, hinter dem Outlook Icon in der Fußzeile versteckt. Sie müssen dazu nur bei gestartetem Outlook die "STRG"-Taste (CTRL) gedrückt halten und mit der rechten Maustaste auf das Outlook Icon neben der Uhr in der Taskleiste klicken. Im Kontextmenü finden Sie dann einen Punkt E-Mail-Autokonfiguration testen...".

Autodiscover

Im folgenden Fenster geben Sie dann einfach ihre Mailadresse und das Kennwort für das entsprechende Konto ein. Wenn Sie einen Exchange Server einsetzen, dann sollten Sie "Guesssmart" einfach abschalten, da damit nur POP3/IMAP4-Verbindungen versucht werden, die man beim Einsatz von Outlook und Exchange besser vermeidet.

Wenn es dann aber funktioniert hat, dann sehen Sie im "Ergebnis"-Fenster die Rückmeldung, welche Dienste wie angesprochen werden. Es ist besonders gut zu erkennen, dass AutoDiscover nicht nur für die Erstkonfiguration des MAPI-Profils zuständig ist, sondern auch Offline Adressbücher "OAB", Frei/Belegt-Zeiten (Free/Busy) und auch Abwesenheitsassistenten (OOF) über diesen Weg bestimmt werden.

Autodiscover OK

Zumindest innerhalb ihres Netzwerks sollte Autodiscover dank Active Directory und Service Connection Point immer funktionieren.

Fehlersuche mit Outlook Protokollierung

Sie Funktion können Sie auch über ein Protokoll erstellen lassen. Dazu müssen Sie natürlich erst in Outlook die Protokollierung aktivieren:

Danach finden Sie aber im %TEMP%-Verzeichnis eine ganze Schar von Logdateien und Unterverzeichnissen:

Für Autodiscover ist die olkdisc.log interessant, welche tiefe Einblicke gewährt, wie Outlook die Daten ermittelt hat.

Autodiscover und Umleitung

Wenn Sie Outlook zusammen mit der Autodiscover-Umleitung nutzen (Siehe auch Autodiscover:DNS), dann wird Outlook per Default erst einmal warnen, dass es von einer unsicheren Webseite auf eine andere URL umgeleitet wird. und das folgende Fenster anzeigen:

Sie können diese Meldung unterdrücken, indem Sie Outlook die Adressen mitteilen, die für solche eine Umleitung "vertrauenswürdig" sind. Technisch sind das Einstellungen in der Registrierung.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\AutoDiscover]
"RedirectServers"="autodiscover-s.outlook.com;autodiscover.outlook.com"

[HKEY_CURRENT_User\Software\Microsoft\Office\14.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.outlook.com"=hex(0):

Wie Sie diese Einstellungen "verteilen", bleibt natürlich nun ihre Aufgabe. für PCs in ihrer Domäne sind natürlich Gruppenrichtlinien optimal. Microsoft Office 365 pflegt diese Einstellungen z.B. durch den Office 365 Anmeldeassistent.

Für Outlook 2007 ist ein Hotfix erforderlich (Okt 2010)

  • Autodiscover Redirect
  • 2480582 How to suppress the AutoDiscover redirect warning in Outlook 2010
  • 956528 You cannot suppress the Autodiscover redirect warning in Outlook 2007

Outlook Abfragen tunen

Die von Microsoft vorgegebene Reihenfolge der Abfrage kann man nicht direkt ändern. Aber über Registry-Einträge können bestimmte Abfragen deaktiviert werden.

[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\AutoDiscover]
"ExcludeHttpsAutodiscoverDomain"=dword:00000001
"ExcludeHttpsRootDomain"=dword:00000001
"ExcludeScpLookup"=dword:00000001
"ExcludeSrvRecord"=dword:00000001
"PreferLocalXML"=dword:00000001
"RedirectServers"="be.prg.com;adroot.local"
"smtpdomain.com"="C:\\Program Files\\Microsoft Office\\Office12\\OutlookAutoDiscover\\smtpdomain.xml"

Gehen Sie aber sehr umsichtig damit vor und merken Sie sich diese Abweichung vom Standard. Bei der Fehlersuche sollten Sie wissen, dass Sie hier Abweichungen eingestellt haben.

Autodiscover mit lokaler XML

Wie sie weiter oben schon gelesen haben, müssen Sie die nicht DNS-Funktionen von Outlook nutzen, sondern können auch direkt eine vorbereitete XML-Datei einstellen. Hier ein Beispiel, was sie natürlich auf ihre Anforderungen anpassen müssen.

Achtung.
Die Tags der XML-Datei sind "Case-Sensibel", d.h. Groß/Kleinschreibung muss unbedingt beachtet werden. Das Tag "OABURL2" ist als Beispiel zu sehen aber wird nicht ausgewertet. Es darf nur ein <OABURL>-Tag geben.

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
  <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <Account>
      <AccountType>email</AccountType>
      <Action>settings</Action>
      <Protocol>
        <Type>EXCH</Type>
        <Server>srv01.msxfaq.de</Server>
        <ASURL>https://cas.msxfaq.de/ews/exchange.asmx</ASURL>
        <OOFURL>https://cas.msxfaq.de/ews/exchange.asmx</OOFURL>
        <UMURL>https://cas.msxfaq.de/unifiedmessaging/service.asmx</UMURL>
        <OABURL>Public Folder</OABURL>
        <OABURL2>https://cas.msxfaq.de/OAB/d29844a8449-742e-4c68-8820-0fb77b34576b/</OABURL2>
      </Protocol>
      <Protocol>
        <Type>EXPR</Type>
        <Server>srv01.msxfaq.de</Server>
        <ASURL>https://cas.srv01.msxfaq.de/ews/exchange.asmx</ASURL>
        <OOFURL>https://cas.srv01.msxfaq.de/ews/exchange.asmx</OOFURL>
        <UMURL>https://cas.srv01.msxfaq.de/unifiedmessaging/service.asmx</UMURL>
        <OABURL>Public Folder</OABURL>
        <OABURL2>https://cas.srv01.msxfaq.de/OAB/d29844a9-724e-468c-8820-0f7b345b767b/</OABURL2>
      </Protocol>
    </Account>
  </Response>
</Autodiscover>

Weitere Informationen hierzu finden Sie auch auf den folgenden Seite:

Aktiviert wird die XML-Datei über einen Eintrag in der Registrierung, welchen Sie auch per Gruppenrichtlinien setzen können. Die XML-Datei können Sie natürlich auch per GPO verteilen.

Autodiscover in Regedit

Alternativ können Sie auch einfach eine REG-Datei ähnlich der folgenden importieren:

Windows Registry Editor Version 5.00

[HKEY_UserS\.DEFAULT\Software\Microsoft\Office\12.0\Outlook\AutoDiscover]
"msxfaq.de"="C:\\PROGRA~1\\MIF5BA~1\\Office12\\OUTLOO~1\\msxfaq.XML"

Der Name des Schlüssels muss der Maildomäne entsprechen. In Regedit sehen Sie auch, dass Outlook eine ganze Menge XLM-Dateien bereits "vorgeladen" mitbringt. Es handelt sich um die größeren uS-Amerikanischen Provider, die Outlook 2007 damit helfen, die POP3, IMAP4 und SMTP-Server zu finden.

  • Autodiscovery A local xml file on the client für example and a regkey
    http://office.microsoft.com/download/afile.aspx?AssetID=AM102105061033
    Sehr ausführliches Dokument mit einer Beschreibung, wie Outlook die XML-Datei interpretiert und wie diese Funktion auch fürPOP3, IMAP4 und SMTP ohne Exchange genutzt werden kann, z.B.: durch eine lokale XML-Datei und einem entsprechenden Eintrag in der Registrierung.

Autodiscover Vorlagen für Outlook ohne Exchange

Mit der Installation von Outlook 2007 liefert Microsoft sogar schon einige Vorlagen für große Webhoster wie Yahoo mit. Diese befinden sich als XML-Dateien unter "C:\Program Files\Microsoft Office\Office12\OutlookAutoDiscover\" und werden in der Registrierung unter HKEY_Current_User\Software\Microsoft\Office\12.0\Outlook\Autodiscover referenziert. Am Beispiel von Yahoo.de kann man gut erkennen, dass hier Outlook die Position der POP3 und SMTP-Server mitgeteilt wird.

Autodiscover Vorlagen in Outlook

Eigentlich erschreckend, dass die großen deutschen Hoster wie GMX, WEB.DE und andere hier nicht mit auftauchen und Yahoo und viele andere immer noch kein Zugriff per SSL erlauben. Da ist es für Spammer dann doch sehr einfach, Accounts zu hacken.

Weitere Links

http://blogs.technet.com/b/exchange/archive/2008/08/07/449501.aspx