Exchange Update failed – SharedWebConfig.config Access Denied
Bricht das Exchange Cumulative Update (CU) kurz vor dem Abschluss mit der Fehlermeldung „The following error was generated when „$error.Clear()“ ab, ist das in erster Linie nicht wirklich hilfreich. Ein weiterer Blick in das Exchange Setup Log birgt hier zumeist hilfreiche weitere Informationen. So heißt es in meinem Fall, dass der Zugriff auf die SharedWebConfig nicht möglich war und die Installationsroutine daher abgebrochen wurde.
[03.03.2021 20:51:55.0663] [1] [ERROR] The following error was generated when "$error.Clear(); $dependentAssemblyGeneratorExePath = [System.IO.Path]::Combine($RoleInstallPath, "bin", "DependentAssemblyGenerator.exe"); $exchangeBinPath = [System.IO.Path]::Combine($RoleInstallPath, "bin"); $clientAccessPath = [System.IO.Path]::Combine($RoleInstallPath, "ClientAccess"); $sharedWebConfig = [System.IO.Path]::Combine($RoleInstallPath, "ClientAccess", "SharedWebConfig.config"); $a = &"$dependentAssemblyGeneratorExePath" -exchangePath "$exchangeBinPath" -exchangePath "$clientAccessPath" -configFile "$sharedWebConfig"; $allOutput = @(); $a | % { $allOutput += $_ }; Write-ExchangeSetupLog -Info ($allOutput -join "`r`n"); Stop-SetupService -ServiceName WAS; Start-SetupService -ServiceName W3SVC; " was run: "System.Management.Automation.RemoteException". [03.03.2021 20:51:55.0663] [1] [ERROR] [03.03.2021 20:51:55.0664] [1] 1. ErrorRecord: Unbehandelte Ausnahme: System.UnauthorizedAccessException: Der Zugriff auf den Pfad "C:Program FilesMicrosoftExchange ServerV15ClientAccessSharedWebConfig.config" wurde verweigert. [03.03.2021 20:51:55.0664] [1] 1. ErrorRecord: System.Management.Automation.RemoteException: Unbehandelte Ausnahme: System.UnauthorizedAccessException: Der Zugriff auf den Pfad "C:Program FilesMicrosoftExchange ServerV15ClientAccessSharedWebConfig.config" wurde verweigert.
Hierbei sollte man wissen, dass die SharedWebConfig.config im Exchange Installationsverzeichnis in zwei Ordnern vorhanden sein muss. Ohne diesen beiden Files kann der Exchange nicht gestartet werden:
- C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess
- C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy
Sollte eine oder gar beide Dateien nicht an ihrem vorgesehen Platz sein, können diese relativ einfach mithilfe des mitgelieferten DependentAssemblyGenerator.exe erneut erstellt werden. Dazu öffnet man eine Eingabeaufforderung als Administrator und führt folgende Befehle aus:
- In das Exchange Installationsverzeichnis wechseln:
cd %ExchangeInstallPath%\bin
- SharedWebConfig für den Ordner „C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess“ erstellen:
DependentAssemblyGenerator.exe -exchangePath "%ExchangeInstallPath%\bin" -exchangePath "%ExchangeInstallPath%\ClientAccess" -configFile "%ExchangeInstallPath%\ClientAccess\SharedWebConfig.config"
- SharedWebConfig für den Ordner „C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy“ erstellen:
DependentAssemblyGenerator.exe -exchangePath "%ExchangeInstallPath%\bin" -exchangePath "%ExchangeInstallPath%\FrontEnd\HttpProxy" -configFile "%ExchangeInstallPath%\FrontEnd\HttpProxy\SharedWebConfig.config"
Danach muss noch einmal das CU Update ausgeführt werden. Dabei sollte der Installer erkennen, dass das zuvor ausgeführte Update nicht korrekt durchgelaufen ist und eine Reparatur starten. Die Reparatur ist in den meisten Fällen schneller als das eigentliche Update. Anschließend sollte der Exchange wieder korrekt funktionieren.