Scripting

Beginnend mit Version 7 stellt MailStore Server mit der MailStore Server Management Shell und der MailStore Server Administration API leistungsfähige Schnittstellen zur Verfügung, mit deren Hilfe viele Aufgaben durch Skripte automatisiert werden können. Hierdurch können Szenarien implementiert werden, die sich nicht oder nur schwer über die Benutzeroberfläche abbilden lassen. Des Weiteren erlaubt die Verwendung von Skripten die Integration von MailStore Server in vorhandene Workflows oder Geschäftsprozesse.

Im Folgenden werden die Möglichkeiten der MailStore Server Administration API in verschiedenen Skriptsprachen beispielhaft dargestellt und erläutert. Zudem haben wir in unserem Scripting-Bereich einige Skripte zusammengestellt, welche die gezeigten Techniken verwenden und häufig nachgefragte Problemstellungen lösen. Diese werden zur freien Verfügung gestellt und können beliebig an die eigene Umgebung angepasst, erweitert oder als Grundlage für eigene Lösungen verwendet werden.

Wichtiger Hinweis: Der gesamte hier zur Verfügung gestellte Skriptcode ist als Referenz- bzw. Beispielimplementation zu betrachten. Bitte beachten Sie hierzu insbesondere die Lizenzhinweise in den jeweiligen Skriptdateien.

Automatisierung mit Windows Batch-Skripten

Für einfache Aufgaben, wie z.B. den Massenimport oder -export von PST-Dateien, können auch Windows Batch Skripte verwendet werden. Diese steuern MailStore Server im Allgemeinen nicht über die MailStore Server Administration API, sondern über den MailStore Server Kommandozeileninterpreter an.

Bevor Sie die Windows Batch-Skripte in der Eingabeaufforderung cmd.exe ausführen können, öffnen Sie die Skript-Datei zunächst in einem Texteditor wie z.B. Notepad. Passen Sie die Konfigurationsvariablen oberhalb der Zeile DON'T CHANGE ANYTHING BEYOND THIS LINE entsprechend Ihrer lokalen Umgebung an. Achten Sie darauf, ggf. umschließende einfache oder doppelte Hochkommata nicht zu verändern.

Verfügbare Windows Batch-Skripte

Dateiname Beschreibung
bulkImportPST.bat Importiere mehrere PST-Dateien aus einem angegebenen Verzeichnis in das Archiv eines MailStore Benutzers.
bulkImportMBOX.bat Importiere mehrere MBOX-Dateien aus einem angegebenen Verzeichnis in das Archiv eines MailStore Benutzers.
bulkExportPST.bat Export aller Archive in mehrere PST-Dateien. Je eine pro MailStore Benutzer.
bulkDeleteUsers.bat Lösche alle MailStore Benutzer bis auf den Standardadministrator 'admin'.

Automatisierung mit Python-Skripten

Komplexere Abläufe lassen sich mit höheren Skriptsprachen deutlich besser automatisieren als mit einfachen Batch-Skripten. Als weit verbreitete, plattformunabhängige und leicht zu erlernende, aber mächtige Skriptsprache eignet sich Python sehr gut zur Ansteuerung von MailStore Server über die MailStore Server Administration API.

Um Python-Skripte ausführen zu können, muss zunächst die Python-Runtime installiert werden. Die entsprechende Windows Setup-Datei kann unter http://www.python.org heruntergeladen werden. Auf einem Linux-System installieren Sie bitte die Python-Runtime über das Paketmanagement Ihrer Linux-Distribution.

Ebenfalls benötigt zum ausführen der Python-Scripte wird der Python API-Wrapper. Hinweise zur Installation des Python API-Wrappers finden Sie im entsprechenden Abschnitt des Python API-Wrapper Tutorial.

Um die Python-Skripte auszuführen, öffnen Sie die Skript-Datei zunächst in IDLE (Bestandteil der Python-Runtime). Passen Sie die Konfigurationsvariablen oberhalb der Zeile DON'T CHANGE ANYTHING BEYOND THIS LINE entsprechend Ihrer lokalen Umgebung an. Achten Sie darauf ggf. umschließende einfache oder doppelte Hochkommata nicht zu verändern.

Zum Starten des Skripts klicken Sie auf Run > Run Module oder drücken Sie die F5-Taste in IDLE. Ein neues Fenster erscheint, in welchem Sie die Standardausgaben des Skripts sowie etwaige Fehlermeldungen angezeigt bekommen.

Wenn Sie eigene Skripte in Python zur Automatisierung von MailStore Server Aufgaben erstellen möchten, bietet sich das Python API-Wrapper Tutorial als Einstieg an. Wenn Sie nur die von MailStore zur Verfügung gestellten Python-Skripte verwenden möchten, können Sie auch direkt zu diesen wechseln.

Verfügbare Python-Skripte

Dateiname Beschreibung
mergeFolders.py Führt Unterordnerstrukturen zusammen. Wird häufig nach der Archivierung mehrer PSTs für einen Benutzer benötigt.
createUserFolders.py Erstelle Ordner im Dateisystem basierend auf den MailStore Benutzernamen. Kann zur Vorbereitung des Massenimport von EML-, MSG- und PST-Dateien verwendet werden.
renameInbox.py In manchen Fällen kann es vorkommen, dass es zwei Inbox Ordner (Inbox und INBOX) im Archiv existieren. Dieses Skript führt die Ordner zusammen. Sie sollten den Namen als neuen gemeinsanem Namen wählen, der von den aktuellen Archivierungsprofilen befüllt wird.
updateUserNames.py Wenn sich der Verzeichnisdienst ändert, und dadurch die Benutzer neue Namen erhalten, werden auch neue Archive angelegt. Die Archivierung läuft dann unter Umständen in diese neuen, falschen Archive hinein. Dieses Skript kann zwischen der Änderung des Verzeichnisdienstes verwendet werden, um MailStore auf die neuen Benutzernamen vorubereiten.
check_mailstorelicense.py Nagios-/Icinga-Plugin zum Überwachen der verfügbaren Lizenzen. Siehe Monitoring für weitere Details.
check_mailstore.py Nagios-/Icinga-Plugin zum Überwachen der letzen Ergebnisse. Siehe Monitoring für weitere Details.

Automatisierung mit PowerShell-Skripten

Als mit allen neueren Windows Versionen mitgelieferte Standardshell eignet sich auch die auf dem .NET Framework basierende Windows PowerShell sehr gut zur Ansteuerung von MailStore Server über die MailStore Server Administration API.

Der MailStore PowerShell API-Wrapper und die Skripte sind mit Windows PowerShell ab Version 3.0 kompatibel. Diese muss je nach Windows Version ggf. separat installiert werden und kann im Microsoft Download Center kostenlos heruntergeladen werden.

Wenn Sie eigene Skripte in PowerShell zur Automatisierung von MailStore Server Aufgaben erstellen möchten, bietet sich das PowerShell API-Wrapper Tutorial als Einstieg an. Wenn Sie nur die von MailStore zur Verfügung gestellten PowerShell Skripte verwenden möchten, können Sie auch direkt zu diesen wechseln.