MailStore Server Management Shell

Viele Befehle des grafischen MailStore Clients lassen sich auch über die Management Shell durchführen, welche bei der Installation von MailStore Server und MailStore Client automatisch mitkopiert wird.

Die Management Shell ist einerseits dann nützlich, wenn keine grafische Umgebung zur Verfügung steht (z.B. bei Verwendung von telnet oder ssh), andererseits zur Einbindung in automatisch oder manuell gestartete Scripts (z.B. Batchdateien).

Neben den Client-seitigen Befehlen (Client-side Commands) stellt die Management Shell auch einen Zugriff auf die Server-seitigen Befehle (Server-side Commands) der MailStore Server Administration API bereit. Die Ausgabe der Server-seitigen Befehle erfolgt im JSON-Format.

Die Management Shell aus MailStore heraus starten

Sie können die Management Shell direkt aus MailStore heraus starten. Melden Sie sich dazu als MailStore-Administrator über den MailStore Client an und klicken Sie auf Verwaltung > Management API > Eingabeaufforderung.

Tech mscmd 01.png

Die Schriftgröße der Management Shell kann durch Halten der Strg-Taste und Drehen des Mausrads oder + und - auf der Tastatur angepasst werden. Halten der Strg-Taste und 0 setzt die Schriftgröße zurück.

MailStoreCmd.exe im nicht-interaktiven Modus verwenden

Im nicht-interaktiven Modus führt die Management Shell eine Anmeldung mit übergebenen Anmeldeinformationen durch, führt einen ebenfalls übergebenen Befehl aus und beendet sich daraufhin automatisch. Der Exit Code (ERRORLEVEL) des Prozesses wird auf 0 gesetzt, wenn Anmeldung und Befehl erfolgreich ausgeführt werden konnten, sonst auf einen Wert ungleich 0. Die MailStoreCmd.exe befindet sich im Installationsverzeichnis von MailStore Server. Die ebenfalls vorhandene MailStoreCmdSilent.exe macht dasselbe, öffnet jedoch kein sichtbares Kommandozeilenfenster.

Die Anmeldedaten für Ihre Installation können Sie der Kommandozeile eines geplanten Tasks eines Profils vom Typ E-Mail-Programme oder E-Mail-Dateien entnehmen.

Es gibt mehrere Möglichkeiten, Anmeldedaten an MailStoreCmd.exe zu übergeben.

Damit die Anmeldedaten aus der Windows-Anmeldeinformationsverwaltung ausgelesen werden können, müssen diese zuvor dort abgespeichert werden. Dies macht der MailStore Client automatisch, wenn ein geplanter Task in der Windows Aufgabenplanung angelegt wird. Diese Methode verhindert, dass Zugangsdaten einfach von Dritten eingesehen werden können. Die Anmeldedaten können dann wie folgt verwendet werden:

 MailStoreCmd.exe --h=<server> --cred=<user>@<server/IP-Adresse> --pkv3=<thumbprint> -c  <command> [--param1=<value> --param2=<value> ...]

Die Anmeldedaten können auch im Klartext übergeben werden.

MailStoreCmd.exe --h=<server> --u=<user> --p=<password> --pkv3=<thumbprint> -c  <command> [--param1=<value> --param2=<value> ...]

Im Folgenden werden die einzelnen Parameter beschrieben

Parameter Beschreibung
--h Der Rechnername des MailStore Server, mit welchem sich MailStoreCmd.exe verbinden soll.
--pkv3 Fingerabdruck (Public Key Fingerprint), der die Identität des MailStore Server sicherstellt.
--u Benutzername
--p Kennwort
--cred Alternative zu --u und --p, das Kennwort wird aus der Windows-Anmeldeinformationsverwaltung gelesen. Der Parameter ist in der Form <user>@<server/IP-Adresse> anzugeben.
--nologo Optional. Unterdrückt die Anzeige des Logos.
--o Optional. Leitet die Ausgabe in die angegebene Datei um. Es erscheint dann keine Ausgabe im Konsolenfenster.
-c Es folgt der tatsächliche Befehl (nicht-interaktiver Modus).

Befehlsübersicht

Client-seitige Befehle

Im folgenden finden Sie eine Befehlsübersicht der Client-seitigen Befehle.

 clear

Löscht die angezeigten Texte und erhöht so die Übersichtlichkeit

 debug-conn

Aktiviert das Verbindungsprotokoll für IMAP und HTTP Verbindungen während der Archivierung für den aktuell laufenden MailStore Client Prozess.

 debuglog-browse

Öffnet das Debug-Protokoll-Verzeichnis im Datei-Explorer.

 debuglog-enable,  debuglog-disable

Aktiviert oder deaktiviert das globale (rechnerweite) Debugprotokoll.

 exejcfg [--d]

Aktiviert bzw. deaktiviert das Envelope Journaling auf einem Exchange 2003 Server. Wenn der Parameter --d übergeben wird, wird das Envelope Journaling deaktiviert. Dieser Befehl muss auf einem Computer ausgeführt werden, der Mitglied einer Domäne ist.

 export-execute [--name=<profilename>] [--id=<profileid>] [--verbose] [--[property]="value"]

Führt ein Export-Profil aus. Folgende Parameter werden unterstützt:

--name | --id Name oder ID des auszuführenden Profils
--verbose aktiviert eine detaillierte Statusausgabe auf der Konsole
--[property] Überschreibt die angegebene interne Property eines Profils. Die internen Properties lassen sich anzeigen, in dem man ein Exportsprofil aus der Liste auswählt und die Tastenkombination STRG + SHIFT + P drückt. Der Name der Property muss in eckigen Klammern geschrieben werden. Es können beliebig viele Properties angegeben werden.
 export-list

Zeigt alle erstellten Exportprofile an (ID und Name des Profils).

 help

Zeigt eine Liste aller verfügbaren Client- als auch Server-seitigen Befehle und deren Parameter

 import-execute [--name=<profilename>] [--id=<profileid>] [--verbose] [--user=<username>] [--[property]="value"]

Führt das Archivierungsprofil aus. Folgende Parameter werden unterstützt:

--name | --id Name oder ID des auszuführenden Archivierungsprofils
--verbose ktiviert eine detaillierte Statusausgabe auf der Konsole
--user Benutzerarchiv in dem die archivierten E-Mails gespeichert werden
--[property] Überschreibt die angegebene interne Property eines Profils. Die internen Properties lassen sich anzeigen, in dem man ein Archivierungsprofil aus der Liste auswählt und die Tastenkombination STRG + SHIFT + P drückt. Der Name der Property muss in eckigen Klammern geschrieben werden. Es können beliebig viele Properties angegeben werden.
 import-list [--user=<username>]

Zeigt alle erstellten Archivierungsprofil an (ID und Name des Profils).

 livelog-client-disable,  livelog-client-enable,  livelog-server-disable,  livelog-server-enable

Aktiviert oder deaktiviert das Echtzeitprotokoll für MailStore Server bzw. MailStore Client. Das Protokoll kann u.A. mit Sysinterals DebugView betrachtet werden. DebugView muss mit Administratorrechten ausgeführt werden, weiterhin müssen Global Win 32 Ereignisse erfasst werden.

 store-setprop --name=<name> --value=true/false

Ändert eine globale Einstellung

--name Name der zu ändernden globalen Einstellung
--value Wert der globalen Einstellung

Folgende globale Einstellungen werden unterstützt:

Name Version Werte Standardwert
public.arcclient.skipMimeContentConversionFailed 8 true = Exchange MimeContentConversionFailed-Fehler werden ignoriert und nicht als Fehler bei der Archivierung angesehen.

false = Exchange MimeContentConversionFailed-Fehler werden als Fehler bei der Archivierung angesehen.

false
public.arcclient.skipVirusDetected 8.1 true = Exchange ErrorVirusDetected-Fehler werden ignoriert und nicht als Fehler bei der Archivierung angesehen.

false = Exchange ErrorVirusDetected-Fehler werden als Fehler bei der Archivierung angesehen.

false
public.arcclient.skipEwsErrorItemNotFound 10 true = Exchange ErrorItemNotFound-Fehler werden ignoriert und nicht als Fehler bei der Archivierung angesehen.

false = Exchange ErrorItemNotFound-Fehler werden als Fehler bei der Archivierung angesehen.

false
public.backup.hideNotDetectedWarningMessage 11 true = Backup Warnungen werden nicht auf dem Dashboard angezeigt.

false = Backup Warnungen werden auf dem Dashboard angezeigt.

false
 user-list

Zeigt eine Liste aller MailStore Benutzer an.

Server-seitige Befehle

Eine Übersicht der Server-seitigen Befehle finden Sie unter Function Reference (englisch).

Die Parameter der Server-seitige Befehle sind case sensitive und müssen in der Management Shell mit zwei Bindestrichen angegeben werde. Booleschen Variablen müssen als true oder false angegeben werden. Zeichenketten die Leerzeichen enthalten, müssen in Anführungszeichen gesetzt werden.

Beispiele:

GetProfiles --raw=true

Listet alle Archivierungs- und Exportprofile auf.

GetUserInfo --userName="alexis.page"

Listet die Eigenschaften der Benutzerin alexis.page auf.

GetJobResults --fromIncluding="2018-01-01T00:00:00" --toExcluding="2019-01-01T00:00:00" --timeZoneId="$Local" --jobId=1

Listet die Ergebnisse des Jobs mit der ID 1 aus dem Jahr 2018 auf.

GetWorkerResults --fromIncluding="2018-01-01T00:00:00" --toExcluding="2019-01-01T00:00:00" --timeZoneID="$Local" --profileID=1

Listet die Ergebnisse des Archivierungsprofiles mit der ID 1 aus dem Jahr 2018 auf. Der Parameter timeZoneID wird nur beim Befehl GetWorkerResults mit großem D geschrieben.

RunProfile --id=1

Startet das Archivierungs- oder Exportprofile mit der ID 1.