PowerShell API-Wrapper Tutorial

++ Under construction ++

Dieses Tutorial erläutert anhand einfacher Beispiele den Umgang mit der MailStore Server Administration API mittels Windows PowerShell Skripten. Grundlegende MailStore Server, Windows und PowerShell Kenntnisse werden dabei vorausgesetzt.

Hinweis: Es wird empfohlen, für dieses Tutorial und grundsätzlich für die Skriptentwicklung eine eigene, nicht produktive Instanz von MailStore Server in einer Testumgebung zu verwenden, um Probleme und Datenverluste in der Produktivumgebung zu vermeiden. Hierfür eignet sich z.B. die voll funktionsfähige, 30-Tage-Testversion von MailStore Server.

Installation der benötigten Komponenten

Die gezeigten Beispiele nutzen den MailStore PowerShell API Wrapper und sind wie dieser auf Windows PowerShell ab Version 3.0 lauffähig. Abhängig von der verwendeten Windows Version muss eine kompatible PowerShell Version zunächst heruntergeladen und installiert werden. Die für das Tutorial benötigten Komponenten finden Sie hier:

MailStore PowerShell API Wrapper
MailStore PowerShell Tutorial Beispielskripte
30-Tage-Testversion von MailStore Server
Windows Management Framework 3.0 (enthält die PowerShell 3.0)
Windows Management Framework 4.0 (alternativ, enthält die PowerShell 4.0)

Bitte beachten Sie auch die Systemvoraussetzungen und Hinweise zur jeweiligen Version des Windows Management Frameworks.

Wichtiger Hinweis: Die Installation eines Windows Management Frameworks wird auf Systemen, welche eine bestimmte PowerShell Version voraussetzen und erweitern, wie beispielsweise Microsoft Exchange Server, nicht unterstützt und kann die Funktion dieser Systeme massiv beeinträchtigen oder zum Erliegen bringen.

Nach dem Herunterladen und ggf. der Installation der PowerShell entpacken Sie bitte den MailStore PowerShell API Wrapper und die Beispielskripte (standardmäßig nach C:\MailStore Scripting Tutorial\PowerShell\).

Einbinden des MailStore PowerShell API Wrappers

Der MailStore PowerShell API Wrapper ist als PowerShell Script Module (MSS.PS.Lib.psm1) implementiert und wird daher über sein Manifest (MSS.PS.Lib.psd1) per Import-Module in eine PowerShell Session eingebunden.

Öffnen Sie eine PowerShell Session und binden Sie das API Wrapper Modul mit folgenden Befehl ein:

Import-Module "C:\MailStore Scripting Tutorial\PowerShell\API-Wrapper\MSS.PS.Lib.psd1"
Hinweis: Der MailStore PowerShell API Wrapper und die Beispielskripte sind nicht digital signiert. Daher muss zunächst die Ausführung solcher Skripte in einer administrativen PowerShell Session mittels
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
zugelassen werden.

Informationen zum MailStore PowerShell API Wrapper abrufen

Der MailStore PowerShell API Wrapper stellt einige Funktionen und Variablen zur Verfügung, um gemäß PowerShell Konventionen auf die MailStore Server Administration API zugreifen zu können. Geben Sie folgenden Befehl ein, um Informationen hierüber abzurufen:

Get-Module MSS.PS.Lib|fl

Mittels der Eigenschaften des Moduls kann man noch detailliertere Informationen abrufen. Beispielsweise gibt

(Get-Module MSS.PS.Lib).ExportedVariables

die zur Verfügung gestellten Variablen des Moduls zurück.
Mittels

Get-Help

stellt der MailStore PowerShell API Wrapper für seine Funktionen Inline-Hilfen (nur auf Englisch verfügbar) bereit.

Grundlegende Verwendung der API Wrapper Funktionen

Anhand des folgenden Beispielskripts soll die grundlegende Verwendung der MailStore PowerShell API Wrapper Funktionen veranschaulicht werden. Dieses Skript finden Sie im Beispielskriptpaket als Example1.ps1.

Import-Module 'C:\MailStore Scripting Tutorial\PowerShell\API-Wrapper\MSS.PS.Lib.psd1'
$mssapiclient = New-MSSApiClient -Username admin -Password admin -MailStoreServer localhost -Port 8463 -Code JSON -IgnoreInvalidSSLCerts
$return = Invoke-MSSApiCall $mssapiclient "GetServerInfo"
$return