Exchange URLs

Achtung:
Die "InternalURL" wird in Umgebungen mit mehreren CAS-Servern als Adresse für die "CAS zu CAS" Verbindung genutzt. Die Anfragen dürfen nicht über einen Proxy laufen. Wer also per GPO auch den Computern sagt, dass alles zum Proxy geht, stört die CAS zu CAS Kommunikation.
Exchange 2013 und höher nutzt sogar immer den FQDN des Servers

Uppercase
Es kann Probleme geben wenn Sie z.B. /ECP statt /ecp verwenden. Stichwort "invalid Canary". Prüfen Sie daher ihre konfigurierten URLs

Mit dem Skript Get-CASURL habe ich eine elegante Möglichkeit einer Ausgabe aller URLs geschaffen.

Nicht erst seit Autodiscover sollten Sie erkannt habe, dass Outlook 2007 und neuer mit Exchange 2007 und höher nicht mehr nur allein per RPC kommuniziert, sondern immer mehr HTTPS-Anfragen auf die CAs-Server-Rollen angewendet werden. Über die Funktion Autodiscover erfährt der Client, welche Dienste über welche URLs zu erreichen sind. Diese sind natürlich in der Exchange Konfiguration auch zu hinterlegen. Meist fällt es erst im laufe des Betriebs auf, wenn der erste Anwender von "draußen" arbeiten will, in der Firewall entsprechende Zugänge zu veröffentlichen sind oder die Anwender von andauernden Warnungen vor Zertifikaten behindert werden. Die Ursache ist meist die falsche Konfiguration in Exchange, die aber meist nicht sofort auffällt.

Dann nämlich nicht, wen die vom Setup selbst erstellten Zertifikate noch gültig sind, noch kein Outlook 2007 zum Einsatz kommt oder Outlook 2007/2010 nur intern genutzt wird und über LDAP die "Service Connection Points" ermittelt. Dann erhält Outlook die "internen URLs", welcher per Default den FQDN-Name des Servers enthält.

Auf dieser Seite versuche ich alle URLs und Webzugänge zu beschreiben, die Exchange 2007 und höher verwendet. Sie sollten vor allem die feinen unterschiede von internen und externen URLs verstanden haben. Zudem sollten Sie alle Zugänge per SSL absichern, so dass das Zertifikat natürlich "vertrauenswürdig" sein sollte (Datum, Aussteller, Hostname). Es ist durchaus möglich, dass ein Zertifikat für alle Dienste genutzt wird, z.B. indem ein Alias verwendet wird oder ein SAN-Zertifkat. für den internen Einsatz kann auch einen Private CA eine Lösung darstellen, so dass nur die Firewall oder Reverse Proxy ein offizielles Zertifikat benötigt.

Dienst 2007 2010 2013 Commandlet Intern Extern NLB GUI

Autodiscover

Set-Clientaccessserver

Ja

Nein

Nein

Nein

EWS (FreeBusy, OOF)

Set-WebServicesVirtualDirectory

Ja

Ja

Ja

Nein

OWA

Set-OwaVirtualDirectory

Ja

Ja

Ja

Ja

OWA Legacy

Set-OwaVirtualDirectory -Exchange2003URL

Nein

Ja

Nein

Nein

OWA Failback

Set-OwaVirtualDirectory -FailbackURL

Nein

Ja

Nein

Nein

ActiveSync

Set-ActiveSyncVirtualDirectory

Ja

Ja

Nein

Ja

Outlook Anywhere

Set-OutlookAnywhere -ExternalHostname

Nein

Ja

Nein

Ja

OAB

Set-OABVirtualDirectory

Ja

Ja

Nein

Ja

UM

Set-UMVirtualDirectory (Nur Exchange 2007)

Ja

Ja

Nein

Nein

ECP

Set-EcpVirtualDirectory (Nur Exchange 2010)

Ja

Ja

Nein

Ja

PowerShell

Set-PowerShellVirtualDirectory (Nur Exchange 2010)

Ja

Ja

Nein

Nein

Per Default ist der Wert von "ExternalURL" immer leer, Sie müssen also hier aktiv werden, wenn Sie Dienste extern erreichbar machen möchten bzw. dem Client (Outlook 2007 und neuer, Windows Mobile 6.1 und neuer, etc.) eine automatische Erkennung mittels Autodiscover erlauben wollen. Pflegen Sie den Wert nur auf Servern, die auch tatsächlich unter dem Namen extern direkt erreichbar sind.

Beachten Sie auch, dass die "InternalURL" nicht nur von Clients genutzt wird sondern auch der Server zu Server Kommunikation dient und müssen daher ebenfalls von allen Servern intern auflösbar und erreichbar sein. Auch hier müssen Zertifikate korrekt installiert sein.

Hinweis:
Viele Einstellungen sind nicht relevant, wenn Sie nur "einen" Exchange Server betreiben, weil dann z.B. keine CAS zu CAS-Proxy-Funktion erforderlich ist. Sie sollten dennoch dann die externalURL so setzen, dass Autodiscover korrekte Werte liefert.

Lesenswert sind hierzu auch folgende URLs

Auch ExBPA kann bei der Fehlersuche ganz hilfreich sein. Hier ein Bild, in dem ExBPA sich darüber mokiert, dass in einer Exchange 2010 Umgebung noch ein "alter" Exchange 2007 CAS eine ExternalURL hat.

Dies ist zwar nicht verboten (solange es eine "andere" URL ist, und diese nur von Exchange 2007/2003 Benutzer genutzt wird. In der Regel veröffentlichen Firmen aber eine OWA-URL und diese sollte dann auf Exchange 2010 verweisen, welcher die "Legacy-Clients" dann über die LegacyURL an den alten Zugang umlenkt.

Autodiscover auf dem Client Access Server

Diesem Zugang ist eine eigene Seite Autodiscover gewidmet. Informieren Sie sich dort erst über die Bedeutung und Funktion von Autodiscover.

Parameter

AutoDiscoverServiceInternalUri

Beispielwert

https://FQDN-Hostname/Autodiscover/Autodiscover.xml

Commandlet

Set-ClientAccessServer
http://technet.microsoft.com/en-us/library/bb125157.aspx

GUI

Nicht per GUI !

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Die AutoDiscoverServiceInternalUri definiert den Namen, welcher von Exchange im Active Directory hinterlegt wird. Sie können den Namen auf einen Alias oder einen Load balancer umkonfigurieren, wenn Sie die Clients immer auf einen Namen auflaufen lassen wollen. Beachten Sie, dass es hier bei keine externeURL gibt , da der Zugriff hier über DNS auf "autodiscover.maildomain.tld/autodiscover/autodiscover.xml" erfolgt bzw. über SRV-Records.

Auch auf dem virtuellen Verzeichnis "Autodiscover" kann man mit "Set-AutodiscoverVirtualDirectory –InternalURL" einen Eintrag ändern. Dieser wird aber nach meinen Erfahrungen nicht verwendet.

Exchange Webservices EWS (OOF, Free/Busy)

Über die Webservices stellen Outlook 2007 und neuere Clients z.B. Abwesenheitsmeldungen ein oder ermitteln Frei/Belegt-Zeiten bei Terminen. Aber auch die Transporter Suite, Federation_Services und andere Programme nutzen EWS zum Zugriff auf Postfachinhalte.

Parameter

ExternalURL
InternalURL
InternalNLBBypassURL

Beispielwert

https://FQDN-Hostname/EWS/Exchange.asmx

Commandlet

Set-WebServicesVirtualDirectory
http://technet.microsoft.com/en-us/library/aa997233.aspx

GUI

Nicht per GUI !

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Stellen Sie auch hier sicher, dass die "ExternalURL" auch von extern erreichbar ist, damit externe Benutzer auch ohne Fehler arbeiten können.

Diese Einstellung ist aber z.B. wichtig für Kalender Federation und andere Dienste, speziell zwischen Forests. Insofern ist es für mich schon etwas verwunderlich, dass diese Einstellung es nicht bis in die GUI geschafft hat.

OWA

Outlook WebAccess ist seit Exchange 5.5 ein alter Bekannter. Aber mit Exchange 2007 sind auch hier Parameter zu pflegen, damit die Clients letztlich auf dem richtigen CAS-Server landen.

Parameter

ExternalURL
InternalURL
Exchange2003URL (Ab Exchange 2010)
Fallback (Ab Exchange 2010)

Beispielwert

https://FQDN-Hostname/OWA

Commandlet

Set-OwaVirtualDirectory
http://technet.microsoft.com/en-us/library/bb123515.aspx

GUI

Ja

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Da Exchange 2010 nicht mehr als Reverse Proxy für Exchange 2003 dienen kann, ist hier der Parameter "exchange2003URL" hinzu gekommen, um die Clients auf einen anderen Zugangs zu verweisen, wenn das Postfach noch nicht migriert ist.

ActiveSync

Für die Anbindung mobiler Geräte an den Exchange ActiveSync Server ist ebenfalls eine Konfiguration erforderlich, z.B. damit die aus dem Internet erreichbaren CAS-Server die Anfragen an interne CAS-Server korrekt weiter geben können.

Parameter

InternalURL
ExternalURL

Beispielwert

https://FQDN-Hostname/Microsoft-Server-ActiveSync

Commandlet

Set-ActiveSyncVirtualDirectory
http://technet.microsoft.com/en-us/library/bb123679.aspx

GUI

Ja

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Es ist nicht zwingend, dass der URL-Pfad ein "Microsoft-Server-ActiveSync" enthält. Windows Mobile 6.1 und höher können per Autodiscover angeblich auch andere Pfade unterstützen. Dies ist aber nicht möglich, wenn die Clients kein Autodiscover können oder anderweitig manuell konfiguriert werden. Daher ist es ratsam diesen Pfad so zu verwenden. Sie sollten den Pfad auch korrekt eintragen. Ich habe Umgebungen gesehen, in denen z.B. die "ExternalURL" nicht gepflegt war und daher die Clients keine automatische Konfiguration erhalten konnten. Hier eine Beispiel:

Outlook Anywhere (RPC/http)

Die Verbindung von Outlook über HTTPS zum Exchange Server ist sehr populär und während bei Exchange 2003/Outlook 2003 noch viel manuelle Konfiguration erforderlich war, kann Outlook 2007 bei korrekter Konfiguration alleine den Zugangspunkt ermitteln. Beim Aktivieren über die GUI wird der Hostname ebenfalls erfragt

Parameter

ExternalHostname

Beispielwert

FQDN-hostname (ohne http o.ä.)

Commandlet

Set-OutlookAnywhere
http://technet.microsoft.com/en-us/library/bb123545.aspx

Gui

JA (ExternalHostname)

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

Dieses Feld ist eines der wenigen Einstellungen, die nur einen Hostnamen erlauben. Die URL für den Zugriff leitet Outlook dann sepbst ab (https://fqdn-hostname/rpc/)., Siehe auch RPC over HTTP.

OAB

Das Offline Adressbuch lädt Outlook 2007 nicht mehr zwingend von einem öffentlichen Ordner herunter. Über diese Einstellungen erfährt Outlook die korrekten Zugriffswege

Parameter

InternalURL
ExternalURL

Beispielwert

https://FQDN-Hostname/OAB

Commandlet

Set-OABVirtualDirectory
http://technet.microsoft.com/en-us/library/bb124707.aspx

GUI

Ja

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

UM (Nur Exchange 2007)

Auch wenn vielleicht wenige Firmen bislang die Exchange 2007/2010 Unified Messaging Rolle einsetzen, ist die Konfiguration der UM-Einstellungen von Outlook

Parameter

InternalURL
ExternalURL

Beispielwert

https://FQDN-Hostname/UnifiedMessaging/Service.asmx

Commandlet

Set-UMVirtualDirectory
http://technet.microsoft.com/en-us/library/bb124335(EXCHG.80).aspx

GUI

NEIN

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

ECP (Exchange 2010)

Mit Exchange 2010 erscheint erstmals das virtuelle Verzeichnis "ECP", welches das Exchange Control Panel darstellt. Über dieses virtuelle Verzeichnis können Benutzer per OWA z.B. Verteilerlisten und ihre eigenen Daten selbst pflegen oder den Status versendeter Nachrichten überprüfen (Messagetracking)

Parameter

InternalURL
ExternalURL

Beispielwert

https://FQDN-Hostname/ECP

Commandlet

Set-EcpVirtualDirectory
http://technet.microsoft.com/en-us/library/dd297991.aspx

GUI

Ja

CASArray

Eintragung des Arrays als InternalURL
Eintragung des externen offiziellen Namen als External URL

PowerShell (Exchange 2010)

Das die Verwaltung von Exchange 2010 mit der PowerShell 2.0 WinRM sogar aus der Ferne per HTTPS möglich ist, sind natürlich hierfür ebenfalls die Zugriffspunkte korrekt anzugeben

Parameter

InternalURL
ExternalURL

Beispielwert

https://FQDN-Hostname/PowerShell

Commandlet

Set-PowerShellVirtualDirectory
http://technet.microsoft.com/en-us/library/dd298108.aspx

GUI

Nein

CASArray

Eintragung des Arrays als InternalURL möglich aber häuft nicht gewünscht
Eintragung des externen offiziellen Namen als External URL

Diese Konfiguration wird aber eher für Hoster interessant, die Exchange 2010 für einen Firma betreiben und dem Administrator die Verwaltung per GUI oder PowerShell von seinem Arbeitsplatz erlauben. (anstelle einer webgestützten Verwaltung).

Kontrolle der Ergebnisse

Wenn Sie dann alle Parameter "korrekt" angegeben haben, dann können Sie über mehrere Wege prüfen, ob die Daten korrekt übernommen wurden

  • Test-Commandlets
    Sehr viele Funktionen lassen sich über die verschiedenen vorhandenen "test-"Commandlets der PowerShell direkt abprüfen.
  • Outlook Test
    Outlook 2007 erlaubt ebenfalls einen Autodiscover-Test, wenn Sie bei gedrückter STRL-Taste mit der rechten Maustaste auf das Outlook Icon in der Tastleiste klicken.
  • testexchangeconnectivity.com  bzw. https://testconnectivity.microsoft.com/ 
    Zuletzt bietet auch Microsoft eine Webseite im Internet an, auf der Sie von extern ihre Installation prüfen lassen können. Sie müssen dazu aber einen gültigen Benutzernamen samt Kennwort angeben. Wer vorsichtig ist, legt hierzu besser einen Testbenutzer an, dessen Kennwort er nach dem Test wieder ändert.

    Dieser Test erfolgt "Extern" auf ihre Exchange Umgebung. Microsoft simuliert einen Client, der aus dem Internet die Aktionen versucht. Sie können damit aber nicht die interne Funktion testen.
  • testexchangeconnectivity.com  bzw. https://testconnectivity.microsoft.com/ 
    Wer auf der gleichen Webseite aber die Karteikarte "Client" anklickt, erhält Zugriff auf eine ClickOnce-Anwendung, die nach dem Download auf ihrem PC startet. Dieses Programm testet dann die interne Funktion von z.B. Autodiscover.

    Es ist eine wertvolle Hilfe bei der Suche nach Fehlern.

Weitere Links