Exchange Server web.config wiederherstellen

Die web.config der virtuellen Verzeichnisse befinden sich im Exchange Installationsordner, standardmäßig unter

  • C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\<virtuellesVerzeichnis> für das Frontend (Default Website)

  • C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\<virtuellesVerzeichnis> für das Backend.

 

Für die ECP liegt diese also standardmäßig unter

  • C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\ecp\web.config (Frontend)

  • C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\ecp\web.config (Backend)

 

Wer den Installationspfad seines Exchange Servers nicht kennt, kann über den IIS überprüfen, an welcher Stelle die web.config liegt. Über die Auswahl des jeweiligen Verzeichnisses --> Explore wird der Pfad aufgerufen.

Wie wirkt sich eine fehlende web.config auf das System aus?

Sollte die web.config im Frontend (Default Website) der ECP nicht vorhanden sein, wird typischerweise ein Parser Error protokolliert:

02 webconfig Error Frontend.png

Ist die web.config vorhanden, jedoch leer oder andere Probleme liegen vor, erscheint ein „HTTP Error 500.19 - Internal Server Error“:

03 webconfig Error Frontend.png

Gegenbenfalls steht im Bereich der Config Source noch die Zeile in der web.config welche den Fehler verursacht. Sollte die web.config im Backend der ECP nicht vorhanden sein hat das typischerweise die Auswirkung, dass die Website nach der Anmeldung nicht erreichbar ist. Es erscheinen Meldungen wie „HTTP Error 500.19 – Internal Server Error“ (wenn die web.config vorhanden, aber leer ist):

04 webconfig Error Backend.png

oder „Object reference not set to an instance of an object” (wenn die web.config gar nicht vorhanden ist):

05 webconfig Error frontend.png

oder “Could not load file or assembly”:

06 webconfig Error backend.png

Wie lässt sich nun das Problem beheben?

Microsoft stellt zwei Skripte (UpdateCas.ps1 und UpdateConfigFiles.ps1) bereit, die unter anderem das Neuanlegen der web.config im Backend hervorrufen sollen. Die Skripte befinden sich im Exchange Installationspfad, standardmäßig unter C:\Program Files\Microsoft\Exchange Server\V15\Bin.

Bevor die Skripte ausgeführt werden können, müssen zunächst die Pfade im IIS überprüft werden:

  1. IIS Öffnen

  2. Exchange Backend Website wählen

  3. ECP Virtual Directory auswählen

  4. Application settings > BinsearchFolder.

  5. Hier müssen die absoluten Pfade eingetragen sein und nicht die relativen.

    Diese sind standardmäßig:

    • C:\Program Files\Microsoft\Exchange Server\V15\bin;

    • C:\Program Files\Microsoft\ExchangeServer\V15\bin\CmdletExtensionAgents;

    • C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa\bin

  6. Anschließend können die Skripte in folgender Reihenfolge über die PowerShell ausgeführt werden:

    • UpdateCas.ps1

    • UpdateConfigFiles.ps1

Eine weitere Methode, um die web.config wiederherzustellen, im Backend oder Frontend, ist eine bestehende web.config von einem anderen Exchange Server in der Umgebung zu verwenden. Dafür wird die web.config von einem anderen Server in der Umgebung in den Speicherort des virtuellen Verzeichnisses kopiert, in welchem die web.config fehlt und dann die serverspezifischen Einträge ausgetauscht.

Dies sind in der web.config typischerweise die Einträge

        <add name="X-DiagInfo" value="EX2" />

        <add name="X-BEServer" value="EX2" />

Wobei EX2 für den Server steht, auf welchem die web.config liegt. Der Eintrag muss dementsprechend an den vorliegenden Server angepasst werden.

Alternativ kann auf die web.config.bak des jeweiligen virtuellen Verzeichnisses zurückgegriffen werden. Diese befindet sich wieder im Installationsverzeichnis des Exchange Servers, standardmäßig unter C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\<virtuellesVerzeichnis>

Die web.config.bak muss hierfür lediglich ins selbe Verzeichnis kopiert und zu web.config umbenannt werden. Sollten anschließend weiterhin Probleme an der web.config bestehen, kann es helfen eine Exchange Reparatur durchzuführen. Hierfür wird die aktuell verwendete CU-Version benötigt.

Setup.EXE /M:Upgrade /IAcceptExchangeServerLicenseTerms


Sollten Sie weitere Fragen haben, können Sie uns unter support@ESCde.net oder https://www.escde.net/kontakt kontaktieren.