In diesem Beitrag gibt es mal wieder ein kleines Script welches den Status zu wichtigen Exchange Parametern anzeigen kann. Das Script zeigt den Status zu den Datenbanken, Warteschlangen, Diensten und Speicherplatz übersichtlich an. So kann man sich bei Problemen einen ersten schnellen Überblick über den Exchange Zustand machen. Das Script kann bei GitHub runtergeladen werden:
Ich lasse das Script direkt beim Starten der Exchange Shell ausführen, so dauert der Start der Shell zwar ein klein wenig länger, aber ich habe direkt einen Überblick über die wichtigsten Parameter. So sieht der Start der Exchange Shell auf auf meinen Test Exchange Server aus:
Läuft beispielsweise einer der Exchange Dienste nicht, bekomme ich den Status direkt beim Start der Exchange Server Management Shell angezeigt:
Um das Script direkt beim Starten der Management Shell auszuführen, muss nur die Verknüpfung im Startmenü etwas angepasst werden. Dazu muss der Speicherort der Verknüpfung aus dem Startmenü geöffnet werden:
Das Ziel der Verknüpfung kann nun bearbeitet werden:
In der Standardeinstellung sieht das Ziel der Verknüpfung etwas so aus:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command ". 'D:\Exchange Server\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell"
Am Ende lässt sich nun einfach das Script anhängen, welches beim Start der Shell ausgeführt werden soll:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command ". 'D:\Exchange Server\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell; . 'C:\Install\Get-ExchangeStatus.ps1'"
Beim Hinzufügen den Status Scripts muss auf die Syntax geachtet werden: Semikolon, gefolgt von Punkt und dem Pfad in Hochkomma. Natürlich kann das Script auch manuell ausgeführt werden. Dazu kann der folgende Befehl verwendet werden:
.\Get-ExchangeStatus.ps1
Ihr könnt mir gerne eure Vorschläge schicken, welche Daten ihr auf den ersten Blick sehen wollt, denn das Script lässt sich ja beliebig erweitern. Ihr könnt euch auch gerne auf GitHub direkt beteiligen.
Hallo ,
ich bekomme beim ausführen des Scriptes folgende fehler Meldung : The File C:\…….Get-ExchangeStatus.ps1 is not digitally signed. You cannot run this script on the current system.
Danke im Vorfeld für die Hilfe
Hy ,
ich würde gerne den Inhalt in eine Datei umleiten oder als Mail verschicken.
Die foreach abfragen bekomme ich nicht geschrieben.
hat einer eine Lösung dafür ?
VG
Sascha
Hallo Franky,
wäre es viel Aufwand in dem Script die Ausgabe der aktuell installierten Version mit auszugeben?
Das Skript läuft ebenfalls auf Exchange 2016 CU23 und Server 2016
Danke schön
Moin Frank,
erstmal danke für das Skript ;)
Beim Ausführen auf einer 2-Knoten-DAG bekomme ich nicht ganz schlüssige Ergebnisse.
Ist das Skript nur für Standalone-Exchange-Server gedacht?
Danke und Gruß
Bent
bei mir ptasselt esd nur von Fehlermeldungenm was mache ich da falsch, hier ein ausschnitt:
PS] C:\temp>./Get-ExchangeStatus.ps1
In C:\temp\Get-ExchangeStatus.ps1:202 Zeichen:17
+ Sign up
+ ~
Das kaufmännische Und-Zeichen (&) ist nicht zulässig. Der &-Operator ist für eine zukünftige Verwendung reserviert.
Verwenden Sie das kaufmännische Und-Zeichen in doppelten Anführungszeichen („&“), um es als Teil einer Zeichenfolge zu
übergeben.
In C:\temp\Get-ExchangeStatus.ps1:207 Zeichen:209
+ … k Button–medium Button d-lg-none color-fg-inherit p-1″> <span cla …
+ ~
Der Operator "<" ist für zukünftige Versionen reserviert.
In C:\temp\Get-ExchangeStatus.ps1:425 Zeichen:13
+ CI/CD & Automation
+ ~
Das kaufmännische Und-Zeichen (&) ist nicht zulässig. Der &-Operator ist für eine zukünftige Verwendung reserviert.
Verwenden Sie das kaufmännische Und-Zeichen in doppelten Anführungszeichen ("&"), um es als Teil einer Zeichenfolge zu
übergeben.
In C:\temp\Get-ExchangeStatus.ps1:1364 Zeichen:96
+ … ="" data-disable-with="" data-dropdown-tracking="{"type":&q …
+ ~
Das kaufmännische Und-Zeichen (&) ist nicht zulässig. Der &-Operator ist für eine zukünftige Verwendung reserviert.
Verwenden Sie das kaufmännische Und-Zeichen in doppelten Anführungszeichen ("&"), um es als Teil einer Zeichenfolge zu
übergeben.
In C:\temp\Get-ExchangeStatus.ps1:1364 Zeichen:103
+ … a-disable-with="" data-dropdown-tracking="{"type":"blo …
+ ~
Das kaufmännische Und-Zeichen (&) ist nicht zulässig. Der &-Operator ist für eine zukünftige Verwendung reserviert.
Verwenden Sie das kaufmännische Und-Zeichen in doppelten Anführungszeichen ("&"), um es als Teil einer Zeichenfolge zu
übergeben.
In C:\temp\Get-ExchangeStatus.ps1:1364 Zeichen:146
+ … "type":"blob_edit_dropdown.more_options_click",&q …
+ ~
Das kaufmännische Und-Zeichen (&) ist nicht zulässig. Der &-Operator ist für eine zukünftige Verwendung reserviert.
Verwenden Sie das kaufmännische Und-Zeichen in doppelten Anführungszeichen ("&"), um es als Teil einer Zeichenfolge zu
übergeben.
In C:\temp\Get-ExchangeStatus.ps1:1364 Zeichen:153
+ … type":"blob_edit_dropdown.more_options_click","co …
+ ~
Ausdruck fehlt nach dem unären Operator ",".
In C:\temp\Get-ExchangeStatus.ps1:1364 Zeichen:153
+ … ype":"blob_edit_dropdown.more_options_click","con …
+ ~
Unerwartetes Token "&" in Ausdruck oder Anweisung.
In C:\temp\Get-ExchangeStatus.ps1:1364 Zeichen:166
+ … ot;blob_edit_dropdown.more_options_click","context":{& …
sorry, mein fehler hab die html-seite runtergeladen
Skripte, die auch korrekte Zustände ausgeben, im Autostart(!) sind mMn gefährlich: man gewöhnt sich sehr schnell daran, dass da eine Menge Text durchrauscht, und schaut gar nicht mehr richtig hin… (bei uns müsste ich z.B 21 DBs in 6 Volumes und in einer DAG sowie drei Knoten prüfen, das wären dann mehrere Seiten Text :-O )
Ausgaben sollten mE nur im WARN oder CRIT Fall erfolgen: dann fallen sie sofort auf ;-) Und ganz streng genommen sollte man eigentlich ein ordentliches Monitoring haben: wer Exchange betreibt hat ja mindestens auch ein AD, und dann ist man eigentlich schon an dem Punkt, dass man seine Infrastruktur überwachen sollte :-)
Ich habe übrigens schon länger ein eigenes Startskript für die EMS, weil ich es immer schon doof fand, dass die Default-EMS eine Remote-PS-Verbindung zum lokalen Server aufbaut: das erschwert die Auswertung von Exceptions in eigenen Skripten deutlich.
Hi Frank,
die Idee find ich super, überhaupt haben mir deine Skripts schon oft das Leben erleichtert. Kurze Frage zu diesem: Kann ich das auch mit einer Exchange Shell auf einer Client Workstation verwenden, oder muss das zwingend auf dem Exchange selbst ausgeführt werden?
Hallo,
aktuell läuft das Script nur direkt auf dem Exchange Server, du kannst es aber an deine Anforderungen anpassen.
Beste Grüße
Danke und und noch ein gesundes und friedvolles neues Jahr 2023.
Ich werde das Script morgen testen.
Grüße