Curl testet Microsoft Exchange

Wer Microsoft Exchange betreiben muss, sieht sich schnell mit der Frage konfrontiert, wie man selbiges überwachen kann, ohne Unsummen von Geld in die Hand nehmen zu müssen. Im Windows-Umfeld gibt es unzählige Möglichkeiten, will man das von Linux aus bewerkstelligen, muss man mittels curl nur die entsprechenden Requests absetzen.

ActiveSync

curl -v -k -u domain\\username:password -H "Host:your.fully.qualified.hostname" --request OPTIONS https://ipaddress/Microsoft-Server-ActiveSync
20151021_curl_activesync.JPG Der retournierte Antwort-String auf den OPTIONS-Befehl muss wie im Screenshot  aussehen (siehe Markierung). Kommt eine davon abweichende Antwort ist davon auszugehen dass ein Problem vorliegt.

Outlook Anywhere (RPC over HTTP)

curl -v -k --request RPC_IN_DATA -A MSRPC -u domain\\username:password -H "Host:your.fully.qualified.hostname" http://ipaddress/rpc/rpcproxy.dll?your.fully.qualified.hostname:6001
20151021_curl_outlookanywhere.JPG In diesem Fall kann auf die Antwort "200 Success" geprüft werden, liefert der Server ein andere Code/Return-String Kombination, dann liegt vermutlich ein Fehler vor.

Outlook Web App

curl -v -k -u domain\\username:password -H "Host:your.fully.qualified.hostname" http://ipaddress/owa/auth/logon.aspx?url=https://your.fully.qualified.hostname/owa/&reason=0
20151021_curl_outlookanywhere.JPG In diesem Fall kann auf die Antwort SetCookie "OutlookSession=" geprüft werden. Kommt vom Exchange Server eine andere Meldung retour, sprich es kann keine Outlook Session gestartet werden, dann liegt ein Fehler vor.

Die oben angeführten Curl-Statements können relativ einfach in Scripts eingebaut werden, die im Fehlerfall entsprechend Alarm schlagen (e-Mail, etc.).

(RaiZl)