MailStore Server Management Shell

Version vom 6. November 2024, 10:26 Uhr von Ltalaschus (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.

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

Bei der Verwendung des Parameters cred, liest MailStoreCmd die Zugangsdaten aus der Windows-Anmeldeinformationsverwaltung. 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 passenden Werte für die Parameter cred und pkv3 erhalten Sie, wenn Sie ein Archivierungsprofil aus der Rubrik E-Mail-Programme oder E-Mail-Dateien erstellen. Dieses Profil muss nicht funktional sein. Dann klicken Sie mit der rechten Maustaste auf das Archivierungsprofil und wählen Task erstellen auf <COMPUTERNAME> und anschließend auf Cmd kopieren. Dadurch legt der MailStore Client die Zugangsdaten des angemeldeten Benutzers in der Windows-Anmeldeinformationsverwaltung und das MailStore Kommando für diese Aufgabe in der Zwischenablage ab.

Wenn Sie sich nun den Inhalt der Zwischenablage anzeigen lassen, sehen Sie die Werte für cred und pkv3. Falls pkv3 nicht gesetzt sein sollte, wird dem Zertifikat auch ohne Angabe dieses Wertes vertraut und muss im nicht-interaktiven Modus nicht angegeben werden. Das temporär erzeugte Archivierungsprofil kann wieder gelöscht werden.

Die Zugangsdaten sind in der Windows-Anmeldeinformationsverwaltung unter Windows-Anmeldeinformationen > Generische Anmeldeinformationen > MailStore_E18FE535-FFFB-4079-A385-B1A6FC78E927_cmdline_<user@server> gespeichert und können dort gegebenenfalls wieder gelöscht werden.

Falls bereits einen geplanten Task für ein derartiges Profil auf diesem Computer existiert, können die Werde für cred und pkv3 diesem entnommen werden, ohne das ein temporäres Profil erstellt werden muss.

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. Die Platzhalter {DATE} und {TIME} werden zur Ausführungszeit durch das aktuelle Datum und die aktuelle Zeit ersetzt.
-c Es folgt der tatsächliche Befehl. Dies muss der letzte Parameter sein.

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.

 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 Werte Standardwert
public.arcclient.skipMimeContentConversionFailed 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 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 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 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-seitigen Befehle sind case sensitive und müssen in der Management Shell mit zwei Bindestrichen (--) angegeben werde. Boolesche 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.