Scripting: Unterschied zwischen den Versionen
[unmarkierte Version] | [unmarkierte Version] |
Zeile 1: | Zeile 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | |||
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. | 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. | ||
Version vom 24. Oktober 2014, 14:15 Uhr
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.
API-Wrapper
Als HTTPS-basierte Schnittstelle lässt sich die MailStore Server Administration API prinzipiell mit jeder Programmier- oder Skriptsprache ansprechen, die Web Requests unterstützt. Um die Entwicklung von Skripten zu vereinfachen, bedient man sich am Besten eines API-Wrappers, welcher die Kommunikation mit der API kapselt. Durch die Wiederverwendbarkeit des Wrappers konzentriert sich die Skriptentwicklung auf die benötigte Funktionalität, zudem werden das Debugging erleichtert und eine gewisse Standardisierung der Skripte erreicht.
Die von MailStore zur Verfügung gestellten Python- und PowerShell-Skripte verwenden Implementationen solcher API-Wrapper, die als Referenz herangezogen werden können. Diese sind selbst in der jeweiligen Skriptsprache (Python 3.x bzw. Powershell 3.0) implementiert und beinhalten Kommentare bzw. Inline-Hilfen zum besseren Verständnis. Auf ihre Funktionalität wird in den jeweiligen Artikeln näher eingegangen.
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. |
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.