ExchangeSetupLog
Da Exchange OnPremises Setup protokolliert seine Tätigkeiten in lokalen Dateien. Das klassische Setup nutze eine feste Datei in C:\ExchangeSetupLogs\ExchangeSetup.log, die dadurch immer länger wird. Security Updates werden dort aber nicht protokolliert. Ich habe mir die Pfade und Dateien etwas genauer angeschaut
ExchangeSetup.log
Diese Datei enthält alle Exchange Installationen auf diesem Server und jedes Setup hängt seine Logs hinten an. Die Datei wird also recht groß

Die verschiedenen Setups lassen sich recht einfach separieren, da Sie alle mit dem gleichen String anfangen.
[11.02.2023 11:54:55.0413] [0] ********************************************** [11.02.2023 11:54:55.0413] [0] Starting Microsoft Exchange Server 2019 Setup [11.02.2023 11:54:55.0413] [0] **********************************************
Bei Exchange SE ist der String etwas anders
[04.27.2026 13:49:14.0496] [0] ********************************************** [04.27.2026 13:49:14.0510] [0] Starting Microsoft Exchange Server Subscription Edition Setup [04.27.2026 13:49:14.0510] [0] **********************************************
Kurz darauf sehen Sie die damals aktuelle Windows Version, die Version des Exchange Setups und der angemeldete Benutzer
[11.02.2023 11:54:55.0413] [0] ********************************************** [11.02.2023 11:54:55.0413] [0] Starting Microsoft Exchange Server 2019 Setup [11.02.2023 11:54:55.0413] [0] ********************************************** [11.02.2023 11:54:55.0413] [0] Local time zone: (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna. [11.02.2023 11:54:55.0413] [0] Operating system version: Microsoft Windows NT 6.2.9200.0. [11.02.2023 11:54:55.0413] [0] Setup version: 15.2.1258.12. [11.02.2023 11:54:55.0413] [0] Logged on user: MSXFAQ\admin.
Exchange schaut dann, ob schon Exchange installiert ist und kopiert das eigentliche Setup nach C:\Windows\Temp.
[11.02.2023 11:54:55.0444] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\V15\Setup, wasn't found.
[11.02.2023 11:54:55.0553] [0] Command Line Parameter Name='mode', Value='RecoverServer'.
[11.02.2023 11:54:55.0553] [0] Command Line Parameter Name='iacceptexchangeserverlicenseterms_diagnosticdataoff', Value=''.
[11.02.2023 11:54:55.0553] [0] Command Line Parameter Name='sourcedir', Value='D:\'.
[11.02.2023 11:54:56.0803] [0] RuntimeAssembly was started with the following command:
'/Mode:RecoverServer /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /sourcedir:D:"'.
[11.02.2023 11:54:56.0803] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\v8.0, wasn't found.
[11.02.2023 11:54:56.0803] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14, wasn't found.
[11.02.2023 11:54:56.0913] [0] The registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\V15\Setup, wasn't found.
[11.02.2023 11:54:56.0913] [0] Copying Files...
[11.02.2023 11:54:56.0926] [0] Starting copy from D:\Setup\ServerRoles\Common to C:\Windows\Temp\ExchangeSetup.
[11.02.2023 11:55:41.0461] [0] Finished copy from D:\Setup\ServerRoles\Common to C:\Windows\Temp\ExchangeSetup.
[11.02.2023 11:55:41.0461] [0] File copy complete. Setup will now collect additional information needed for installation.
Achten Sie daher darauf, dass sie auf C: genug Platz haben.
Im weiteren Prozess sehen wir auch die ausgewählten Rollen bei einer Neuinstallation:
[11.02.2023 11:56:17.0365] [0] Setup will run from path 'C:\Windows\Temp\ExchangeSetup'. [11.02.2023 11:56:17.0397] [0] DisasterRecoveryModeDataHandler has 13 DataHandlers [11.02.2023 11:56:17.0397] [0] RootDataHandler has 1 DataHandlers [11.02.2023 11:56:17.0397] [0] Languages [11.02.2023 11:56:17.0397] [0] Mailbox role: Transport service [11.02.2023 11:56:17.0397] [0] Mailbox role: Client Access service [11.02.2023 11:56:17.0397] [0] Mailbox role: Mailbox service [11.02.2023 11:56:17.0397] [0] Management tools [11.02.2023 11:56:17.0397] [0] Mailbox role: Client Access Front End service [11.02.2023 11:56:17.0397] [0] Mailbox role: Front End Transport service [11.02.2023 11:56:17.0412] [0] Validating options for the 5 requested roles
Im weiteren Verlauf finden wir die genutzten Domain Controller und bei einem Update auch die vorgefundenen Rollen. (Ausgabe wurde teilweise umgebrochen)
04.27.2026 13:49:34.0484] [0] Setup is choosing the domain controller to use
[04.27.2026 13:49:34.0671] [0] The MSExchangeADTopology has a persisted domain controller: dc1.msxfaq.de
[04.27.2026 13:49:37.0704] [0] PrepareAD has been run, and has replicated to this domain controller;
so setup will use dc1.msxfaq.de
[04.27.2026 13:49:37.0705] [0] Setup is choosing a global catalog...
[04.27.2026 13:49:37.0785] [0] Setup has chosen the global catalog server dc1.msxfaq.de.
[04.27.2026 13:49:37.0791] [0] Setup will use the domain controller 'dc1.msxfaq.de'.
[04.27.2026 13:49:37.0792] [0] Setup will use the global catalog 'dc1.msxfaq.de'.
[04.27.2026 13:49:37.0795] [0] Exchange configuration container for the organization is
'CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msxfaq,DC=de'.
[04.27.2026 13:49:37.0800] [0] Exchange organization container for the organization is
'CN=Net at Work GmbH,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msxfaq,DC=de'.
[04.27.2026 13:49:37.0822] [0] Setup will search for an Exchange Server object for the local machine with name 'ex01'.
[04.27.2026 13:49:38.0027] [0] Exchange Server object found : 'CN=ex01,CN=Servers,
CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,
CN=msxfaq,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msxfaq,DC=de'.
[04.27.2026 13:49:38.0253] [0] The following roles have been unpacked: BridgeheadRole ClientAccessRole MailboxRole
FrontendTransportRole AdminToolsRole CafeRole
[04.27.2026 13:49:38.0256] [0] The following datacenter roles are unpacked:
[04.27.2026 13:49:38.0261] [0] The following roles are installed: BridgeheadRole ClientAccessRole MailboxRole
FrontendTransportRole AdminToolsRole CafeRole
[04.27.2026 13:49:38.0266] [0] The local server has some Exchange files installed.
Das Ende des Setups ist auch einfach zu erkennen.
[11.02.2023 11:57:19.0046] [0] End of Setup [11.02.2023 11:57:19.0046] [0] **********************************************
Vielleicht baue ich irgendwann mal einen Parser, der die Installation in eine HTML-Datei protokolliert.
Split-ExchangeServerSetupLog
Mich hat natürlich gestört, dass ich in dem Log alle Setups erst manuell suchen musste oder von unten nach ob den Start des letzten Setup ermitteln musste. Mit etwas PowerShell haben ich mir die Datei in einzelne Dateien zerlegen lassen. Der Code ist überschaubar und sie können ihn einfach hier über die Zwischenablage auf ihrem Server ausführen lassen:
param (
[ValidateScript({ Test-Path $_ })]
[string]$LogFilePath = "C:\ExchangeSetupLogs\ExchangeSetup.log"
)
Write-Host "Start Processing File $($LogFilePath)"
$setupdatetime
$errorcount=-1
Get-Content $LogFilePath | ForEach-Object {
if ($_ -like "*Starting Microsoft Exchange Server*") {
Write-Host "New Setup Detected"
if ($errorcount -eq -1) {
Write-Host "First Setup in File found"
}
if ($errorcount -eq 0) {
Write-Host "Former Setup had no errors"
Rename-Item "ExchangeServerSetup-$($setupdatetime).log" "ExchangeServerSetup-$($setupdatetime)-OK.log" -Force
}
else {
Write-Host "Former Setup had errors"
Rename-Item "ExchangeServerSetup-$($setupdatetime).log" "ExchangeServerSetup-$($setupdatetime)-ERROR.log" -Force
$errorcount=0
}
$setupdatetime = get-date ($_.Substring(1,24)) -Format yyymmdd-hhMM
Write-Host "New SetupDate $($setupdatetime)"
}
$_ | out-file "ExchangeServerSetup-$($setupdatetime).log" -append
}
Write-Host "End Processing $($LogFilePath)"
Das Skript verarbeitet je nach CPU ca. 100-200kb/Sek. eine 50 Megabyte Quelle kann also einige Zeit dauern. Ich habe die Bildschirmausgabe aber minimiert, damit es nicht noch länger dauert. Der Code ist absichtlich "überschaubar". Sicher kann man mehr Geschwindigkeit durch direktes Lesen per NET-Framework erreichen. Siehe dazu auch PS Performance
Aus einer "ExchangeSetup.Log" Datei werden dann ganz schnell mehrere Dateien, die etwas zur Geschichte des Servers erzählen.

Da ich auch "Fehlern" suche und entsprechend den Dateinamen wähle, kann ich auch schnell erkennen, wann Setup mit einem Fehler beendet wurden. Ein "gutes" Setuplog ist um die 9 bis 12 Megabyte groß. Deutlich kürzere Logs sind oft ein sehr früher Abbruch, z.B. weil Prerequisites nicht erfüllt waren.
Exchange SU Logging
Neben der Installation von Exchange RTM und den Service Packs gibt es aber zwischen drin immer noch "Security Updates". Diese sind keine komplette Installation von Exchange sondern nur "Patches". Microsoft protokolliert deren Installation NICHT in der Datei ExchangeSetup.log. Die Installationsroutine für Security und Hotfix Updates wurde vom MSP-Format, welches in der Umgebung des ausführenden Benutzer läuft auf MSI/EXE in 2022 umgestellt:
- New Exchange Server Security Update and Hotfix Packaging (KB5011363)
https://support.microsoft.com/en-us/servicing/exchange/server/hotfix/2022/new-exchange-server-security-update-and-hotfix-packaging-kb5011363
Das Setup liest des Installationspfad von Exchange aus der Registrierung aus
HKLM\SOFTWARE\Microsoft\ExchangeServer\v15\Setup

Dort gibt es dann ein Verzeichnis "Logging", in welchem Microsoft weitere Unterverzeichnisse anlegt.
C:\Program Files\Microsoft\Exchange Server\V15\Logging\Update\exe C:\Program Files\Microsoft\Exchange Server\V15\Logging\Update\msi
Hier sollte dann das per Windows genutzte MSI oder manuell gestartete EXE ein Protokoll ablegen. Der Dateiname enthält hier aber schon Datum und Zeit, so dass eine Zuordnung sehr einfach möglich ist und ich diese Dateien nicht weiter auseinandernehmen muss
Das Protokoll in "EXE" ist quasi nur der Start des Wrappers, der dann die MSI startet. Hier die komplette Datei des Exchange SE Sep 2026 SU EXE-Wrappers. Mehr steht nicht drin
[18.09.2026 15:56:51] INFO: Copying temporary files to C:\Users\adm-fcarius\AppData\Local\Temp\ExchangeServer.msp. [18.09.2026 15:56:51] INFO: Exchange Server Update is being installed. [18.09.2026 16:32:48] COMPLETED: The Exchange Server Update installed successfully. [18.09.2026 16:32:48] INFO: Deleting temporary files ExchangeServer.msp.
Viel steht da nicht. Interessanter ist bei Fehlern hier die Protokolldatei im MSI-Verzeichnis. Das waren schon 56 Megabyte. Microsoft beschreibt sogar sehr ausführlich, welche Texte in den Dateien welche Bedeutung haben.
Das Ende des Exchange SE Sep 2026 SUs in der MSI-Datei war (Ausgabe umgebrochen):
MSI (c) (B0:74) [18:32:48:033]: Product: Microsoft Exchange Server -- Configuration completed successfully.
MSI (c) (B0:74) [18:32:48:051]: Windows Installer reconfigured the product. Product Name: Microsoft Exchange Server.
Product Version: 15.2.2562.17. Product Language: 1033.
Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 0.
MSI (c) (B0:74) [18:32:48:067]: Grabbed execution mutex.
MSI (c) (B0:74) [18:32:48:067]: Cleaning up uninstalled install packages, if any exist
MSI (c) (B0:74) [18:32:48:069]: MainEngineThread is returning 0
=== Verbose logging stopped: 18.09.2026 18:32:48 ===
Wer mag, kann z.B. im Rahmen eines Monitoring diese Dateien automatisiert auswerten.
- New Exchange Server Security Update and Hotfix Packaging (KB5011363)
https://support.microsoft.com/en-us/servicing/exchange/server/hotfix/2022/new-exchange-server-security-update-and-hotfix-packaging-kb5011363
Weitere Links
- PS Performance
- Exchange Updates
- Exchange Server SE Updates
-
New Exchange Server Security Update and Hotfix Packaging (KB5011363)
https://support.microsoft.com/en-us/servicing/exchange/server/hotfix/2022/new-exchange-server-security-update-and-hotfix-packaging-kb5011363















