Scripting: Unterschied zwischen den Versionen

[unmarkierte Version][unmarkierte Version]
Zeile 34: Zeile 34:
 
* [[Python API-Wrapper Tutorial]]
 
* [[Python API-Wrapper Tutorial]]
 
* [https://ftp.mailstore.com/pub/Scripts/Python/v9/scripts.zip Python-Skripte]
 
* [https://ftp.mailstore.com/pub/Scripts/Python/v9/scripts.zip Python-Skripte]
 +
 +
=== Verfügbare Python-Skripte ===
 +
 +
{| class="wikitable"
 +
! scope="col" | Dateiname
 +
! scope="col" | Beschreibung
 +
|-
 +
| <tt>mergeFolders.py</tt>
 +
| Führt Unterordnerstrukturen zusammen. Wird häufig nach der Archivierung mehrer PSTs für einen Benutzer benötigt.
 +
|-
 +
| <tt>createUserFolders.py</tt>
 +
| Erstelle Ordner im Dateisystem basierend auf den MailStore Benutzernamen. Kann zur Vorbereitung des Massenimport von EML-, MSG- und PST-Dateien verwendet werden.
 +
|-
 +
| <tt>check_mailstorelicense.py</tt>
 +
| Nagios-/Icinga-Plugin zum Überwachen der verfügbaren Lizenzen. Siehe [[Monitoring]] für weitere Details.
 +
|-
 +
| <tt>check_mailstore.py</tt>
 +
| Nagios-/Icinga-Plugin zum Überwachen der letzen Ergebnisse. Siehe [[Monitoring]] für weitere Details.
 +
|}
  
 
== Automatisierung mit PowerShell-Skripten ==
 
== Automatisierung mit PowerShell-Skripten ==

Version vom 24. Oktober 2014, 13:28 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.

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.