Exchange 2016: Virtuelle Verzeichnisse im IIS neu erstellen

Zwar können die virtuellen Verzeichnisse für die verschiedenen Exchange Webservices über das “Exchange Admin Center” neu erstellt werden, jedoch gibt es Fälle, wo diese Funktion an ihre Grenzen stößt.

Virtuelle Verzeichnisse im IIS neu erstellen

Für diesen Artikel habe ich so einen Fehler simuliert. Auch nach dem Zurücksetzen des Verzeichnisses für OWA mit dem Exchange Admin Center funktioniert OWA nicht:

Virtuelle Verzeichnisse im IIS neu erstellen

Nicht alles lässt sich eben mit der GUI erledigen.

Einleitung

Exchange 2016 verfügt über zwei Webseiten im IIS. Unter der Webseite “Default Web Site” befindet sich der Client Access Dienst, den es zwar nicht mehr als eigenständige Exchange Rolle gibt, aber immer noch vorhanden ist. Exchange Clients, wie zum Beispiel Outlook und Smartphones, verbinden sich zu den virtuellen Verzeichnissen innerhalb der “Default Web Site”. Die virtuellen Verzeichnisse innerhalb der “Default Web Site” bilden also das Front-End für die Clients/Protokolle.

Das Front-End dient den Clients dabei als Proxy für das “Exchange Back End”, welches seine eigene Webseite innerhalb des IIS besitzt. Im Back-End steckt dabei die eigentliche Logik, das Front-End dient nur als statusloser Proxy. Im folgenden Screenshot sind die beiden Webseiten zu sehen:

IIS Manager

Die virtuellen Verzeichnisse lassen sich auch in der Exchange Management Shell anzeigen, der folgende Befehl zeigt zum Beispiel das virtuelle Verzeichnis für OWA:

Get-OwaVirtualDirectory -Server TEX1

Exchange Shell

Der Befehl zeigt allerdings nur das Front-End an, dies ist am Parameter “Name” zu erkennen: Default Web Site. Damit auch das entsprechende Gegenstück im Back-End angezeigt wird, kann der folgende Befehl verwendet werden:

Get-OwaVirtualDirectory -Server TEX1 -ShowMailboxVirtualDirectories

Exchange Shell

Um eine Liste aller entsprechenden Befehle für das Auflisten der virtuellen Verzeichnisse zu erhalten, kann der folgende Befehl verwendet werden:

get-command get-*VirtualDirectory

Exchange Shell

So viel erst einmal zur Theorie. Verschiedene Probleme können es erforderlich machen, dass ein oder mehrere der virtuellen Verzeichnisse neu erstellt werden müssen.

Virtuelle Verzeichnisse neu erstellen

Dieses kleine Beispiel zeigt das Neuanlegen des virtuellen Verzeichnisses für Outlook Web Access (Outlook on the Web, OWA). Um einen Fehler zu simulieren, habe ich für diesen Artikel einfach das virtuelle Verzeichnis für OWA in der “Default Web Site” und in der Webseite “Exchange Back End” gelöscht:

IIS Manager

Das Löschen der beiden Verzeichnisse führt dann zum HTTP 404 Fehler:

OWA Webseite

In meinem Fall muss ich nun also Front-End und Back-End Verzeichnis für OWA neu anlegen. Ich habe allerdings nur die Verzeichnisse im IIS gelöscht. Exchange geht also immer noch davon aus, dass Front-End und Back-End existieren. Dies lässt sich mit folgendem Befehl prüfen:

Get-OwaVirtualDirectory -Server TEX1 -ShowMailboxVirtualDirectories

In diesem Screenshot ist zu erkennen, dass das Verzeichnis OWA im IIS fehlt, aber in der Exchange Shell immer noch angezeigt wird:

IIS und Exchange Shell

Exchange speichert seinen Teil der Konfiguration im Active Directory, wie hier zu erkennen ist:

Active Directory

Damit die OWA Front-End und Back-End neu erstellt werden können, müssen nun zunächst die Verzeichnisse auch aus der Exchange Konfiguration gelöscht werden. Dazu kann der folgende Befehl genutzt werden:

Get-OwaVirtualDirectory -Server TEX1 -ShowMailboxVirtualDirectories | Remove-OwaVirtualDirectory

Exchange Shell

Im Prinzip könnte man jetzt das Verzeichnis für OWA neu anlegen, wäre da nicht die IIS Metabase. Hier gibt es ebenfalls Einträge, die das Neuerstellen des virtuellen Verzeichnisses verhindern.  In der Regel tritt der folgende Fehler auf, wenn versucht wird, das OWA Verzichnis neu zu erstellen und es Reste in der IIS Metabase gibt:

Fehler beim Erstellen des virtuellen IIS-Verzeichnisses ‚IIS://TEX1.frankysweb.local/W3SVC/1/ROOT/owa‘ auf ‚TEX1‘.
+ CategoryInfo          : InvalidOperation: (TEX1\owa (Default Web Site):ADObjectId) [New-OwaVirtualDirectory], In
validOperationException
+ FullyQualifiedErrorId : [Server=TEX1,RequestId=a96fe949-f9e2-48b1-977d-e7a5f8cbc600,TimeStamp=18.10.2017 18:43:5
1] [FailureCategory=Cmdlet-InvalidOperationException] 5812692E,Microsoft.Exchange.Management.SystemConfigurationTa
sks.NewOwaVirtualDirectory
+ PSComputerName        : tex1.frankysweb.local

Exchange Shell

Um die Leichen in der IIS Metabase zu bereinigen, kann das ziemlich alte Tool “IIS Metabase Explorer” verwendet werden. Das Tool gibt es hier zum Download:

Der “IIS Metabase Explorer” benötigt .NET Framework 3.5 Funktionen, diese müssen ggf. nachinstalliert werden:

Windows NET Feature

Im IIS Metabase Explorer müssen unter “LM –> W3SVC –> 1 –> ROOT” und “LM –> W3SVC –> 2 –> ROOT” die Einträge “OWA” gelöscht werden:

IIS Metabase Explorer

Hinweis: Der Eintrag unter “LM –> W3SVC –> 1 –> ROOT” steht hierbei für das Front-End, “LM –> W3SVC –> 2 –> ROOT” ist das OWA Back-End.

Beide Einträge für OWA können in der IIS Metabase gelöscht werden:

IIS Metabase Explorer

Jetzt kann das OWA Verzeichnis mit der Exchange Management Shell neu erstellt werden:

New-OWAVirtualDirectory -WebSiteName 'Default Web Site' -Server TEX1

Und auch das Back-End lässt sich jetzt wieder erstellen:

New-OWAVirtualDirectory -WebSiteName 'Exchange Back End' -Server TEX1 -Role "Mailbox"

Exchange Shell

Die OWA Webseite lädt jetzt bereits wieder:

OWA Webseite

Allerdings müssen die URLs wieder eingetragen werden:

OWA Webseite Einstellungen

In meinem Fall ist dies “https://outlook.frankysweb.com/owa”

OWA Webseite Einstellungen

Auch die restlichen Einstellungen, zum Beispiel für die Authentifizierung müssen entsprechend der Wünsche angepasst werden:

OWA Webseite Einstellungen

Wie schon eingangs erwähnt, gibt es auch die Möglichkeit die virtuellen Verzeichnisse via EAC zurückzusetzen. Jedoch wird dabei immer nur das Front-End neu erstellt. Sollte es, wie hier beschrieben zu Fehlern im Back-End kommen, hilft der Weg über das Exchange Administrative Center nicht weiter.

Auf dem hier beschriebenen Weg können auch die restlichen Verzeichnisse neu erstellt werden (EWS, Active Sync). Das Vorgehen ist gleich und es müssen nur die entsprechenden CMDLets für die weiteren Verzeichnisse benutzt werden. Eine kleine Ausnahme ist allerdings das PowerShell Verzeichnis. Dies ist im nächsten Artikel an der Reihe.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.