ExchangeHealthChecker: Script um Konfigurationsprobleme zu ermitteln

Den ExchangeHealthChecker gibt es schon länger, jedoch scheint das nützliche Script vielen noch unbekannt zu sein. Dabei lohnt es sich das Script immer mal wieder auszuführen um Problemen vorzubeugen. Der ExchangeHealthChecker analysiert die Exchange Konfiguration und listet die häufigsten Konfigurationsprobleme. Das Script erleichtert also mitunter die Fehlersuche ungemein. Beispielsweise listet der ExchangeHealthChecker abgelaufene Zertifikate auf, beispielsweise ein abgelaufenes OAuth Zertifikat, welches bei der Installation der Juli 2021 Sicherheitsupdates für Probleme sorgte. Das Script listet aber auch Konfigurationsprobleme auf, die man vielleicht nicht immer gleich als solche erkannt hat (obwohl man die empfohlenen 128GB RAM für Exchange 2019 in vielen Umgebungen doch eher ignorieren kann). Trotzdem halte ich den ExchangeHealthChecker für ein sehr nützliches Script und ich habe es mit mittlerweile angewöhnt, dass Script vor der Installation der Exchange CUs einmal durchlaufen zu lassen.

Der ExchangeHealthChecker kann hier runtergeladen werden:

Bevor der ExchangeHealthChecker ausgeführt wird, sollte sichergestellt werden, dass auch immer die aktuelle Version verwendet wird. Wie bereits erwähnt, lade ich die jeweils aktuelle Version vor der Installation der Exchange CUs runter und lasse es dann einmal durchlaufen. Wichtig ist, dass ExchangeHealthChecker in der „elevated Exchange Shell“ ausgeführt wird (Run as Administrator). Der Aufruf des Scripts ohne weitere Parameter überprüft den lokalen Exchange Server:

ExchangeHealthChecker: Script um Konfigurationsprobleme zu ermitteln

Die Ausgabe der Ergebnisse erfolgt direkt in der Shell, gleichzeitig wird aber auch ein Log im XML und TXT Format geschrieben, sodass sich die Ergebnisse auch durch andere Scripte weiter verarbeiten lassen.

Das ExchangeHealthChecker Script selbst, hat aber auch die Möglichkeit die Ergebnisse als HTML Datei aufzubereiten. Um einen HTML Report zu erhalten kann das Script nach dem ersten Durchlauf mit dem Parameter -BuildHtmlServersReport aufgerufen werden:

BuildHtmlServersReport

Dies erzeugt einen einfach zu lesenden Report, hier mal ein (gekürztes) Beispiel:

ExchangeHealthChecker HTML Report

Im HealthChecker HTML Report finden sich somit zusammengefasst Konfigurationsprobleme und offene Schwachstellen, oft ist auch bereits ein Link zur Lösung des Problems enthalten.

17 Gedanken zu „ExchangeHealthChecker: Script um Konfigurationsprobleme zu ermitteln“

  1. Hallo Frank,

    super Artikel, vielen Dank.

    Ich habe leider das Problem das das script nicht durchläuft weil es den Server nicht ermitteln kann.
    Der Befehl get-exchangeserver gibt nichts zurück und so bricht das script ab.
    Seltsamerweise wird auch in der EPS kein Name zurück gegeben.
    Was mache ich falsch, oder kennt jemand das Problem auch?

    Grüße
    Det

    Antworten
  2. Hier mal zum Copy-Pasten für die PowerShell:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

    Invoke-WebRequest „https://github.com/microsoft/CSS-Exchange/releases/latest/download/HealthChecker.ps1“ -OutFile „C:\HealthChecker.ps1“ ; cd \

    .\HealthChecker.ps1 ; C:\HealthChecker.ps1 -BuildHtmlServersReport

    Antworten
    • das hat bei mir nicht gut funktioniert
      nach anpassung der config waren keinerlei anhänge über OWA mehr abrufbar
      hatte keinen fehler in meiner config gefunden

      Exchange 2019 CU10

      Antworten
      • Also ich habe das per A-Record Eintrag in unserer owa/exchange domain gemacht. Wir benutzen aber split-dns. Ich bin da ziemlich genau nach der Anleitung vorgegangen, die hier im Forum verlinkt wurde. Nachdem die DNS Einträge sowohl intern als auch extern gesetzt wurden war das Zertifikat dran.

        Natürlich müssen die ganzen Domains und Aliase auch im Zertifikat drinstehen. Allerdings machen wir OWA nicht per Reverse Proxy sondern nur per VPN.

        Antworten
  3. Hallo Frank,

    könntest du vielleicht auf das Thema Download Domains etwas näher eingehen?

    Ich finde dazu keine guten Informationen geschweige denn ein HowTo. :)

    LG
    Peter

    Antworten
  4. Hallo Frank,

    gut dass du hier Aufmerksamkeit auf das Script lenkst, es ist wirklich sehr hilfreich und hat mir auch schon mal aus der Patsche geholfen. Als kleine Ergänzung: Das Script hat seit einiger Zeit einen Auto-Updater drin, heißt wenn der Exchange bzw. die Exchange Shell abgehend ins Internet kommt lädt das Script beim starten automatisch die aktuellste Version runter und gibt das auch als Info raus. Somit spart man sich das händische prüfen/runterladen der aktuellsten Version.

    Mfg
    Daniel

    Antworten
  5. Hallo Frank,

    könntest du vielleicht auf das Thema Download Domains in einem Artikel näher eingehen?

    Ich finde dazu keine guten Informationen geschweige denn ein HowTo. :)

    VG!
    Gero

    Antworten

Schreibe einen Kommentar