Massenimport von E-Mail-Dateien

Beim Archivieren von E-Mail-Dateien ermöglicht der MailStore Client nur das Archivieren von einzelnen E-Mail-Dateien (PST, MBOX) oder von Verzeichnissen, welche E-Mail-Dateien (EML, MSG) einzelner Benutzer enthalten.

Im Folgenden wird beschrieben, wie Sie sämtliche PST-, MBOX-, EML- und MSG-Dateien aller Benutzer in wenigen Schritten mittels des in Python geschriebenen Massenimport-Skripts archivieren können.

Das Massenimport-Skript erwartet hierzu die E-Mail-Dateien in Ordnern, welche zu den entsprechenden MailStore Server Benutzern namensgleich sind. Eine solche Ordnerstruktur kann durch ein weiteres Skript erstellt werden. In diese Ordner kopieren Sie anschliessend die zu archivierenden E-Mail-Dateien.

Möchten Sie lediglich mehrere PST- oder MBOX-Dateien einzelner Benutzer archivieren, können Sie die im Batch Skripting Paket enthaltenen Bulk-Import Skripte verwenden; die Installation von Python ist hierfür nicht notwendig.

Vorbereitung Python

Die bereitgestellten Skripte sind in Python geschrieben. Python 3.2 oder höher und das Python Skripting Paket werden benötigt. Der Python API-Wrapper muss ebenfalls installiert sein.

Vorbereitung Ordnerstruktur

Im Skripting-Paket befindet sich das Skript createUserFolders.py. Dieses bereitet die Archivierung vor, indem es die vorhandenen MailStore Server Benutzer ausliest und gleichnamige Ordner im Dateisystem anlegt. Das eigentliche Archivierungssript verwendet diese Ordnernamen um die darin enthaltenen Dateien den entsprechenden Benutzern in MailStore Server zuzuordnen.

Die MailStore Server Administration API muss in der MailStore Server Dienst-Konfiguration aktiviert sein, damit die vorhandenen Benutzer ausgelesen werden können.

Nach der Installation von Python kann das Skript per Rechtsklick in IDLE, dem mitgelieferten Python Editor, bearbeitet werden. Passen Sie die Werte USER, PASS, HOST und PORT entsprechend Ihrer Installation an.

Die Variable rootpath enthält den Pfad, in dem die Ordner angelegt werden sollen.

Mit F5 können Sie das Skript ausführen. Es folgt eine Sicherheitsabfrage.

Vorbereitung Archivierungsprofil

Vor der Ausführung des Massenimport-Skripts muss in MailStore Server zunächst manuell ein dem zu archivierenden E-Mail-Dateityp (PST, MBOX, EML/MSG) entsprechendes Archivierungsprofil angelegt werden.

Das Archivierungsprofil muss vom Typ Einzelner Benutzer sein. Die Einstellungen in diesem Archivierungsprofil gelten für alle eingelesenen Dateien. Wenn Sie z.B. Order ein- oder ausschließen und Filter definieren, werden diese Einstellungen auf alle zu archivierenden Dateien angewandt.

Der Pfad zur PST- oder MBOX-Datei bzw. der Ordner der EML/MSG-Dateien, den Sie im Profil auswählen, spielt keine Rolle, da dieser vom Massenimport-Skript überschrieben wird. Weiterhin werden bei der EML/MSG-Archivierung Unterordner immer berücksichtigt, die MailStore-Header in EML-Dateien jedoch grundsätzlich ignoriert.

Wichtiger Hinweis: Möchten Sie aus PST-Dateien archivieren, so muss Microsoft Outlook auf dem System, welches die Archivierung durchführt, installiert sein.

Die erstellten Profile müssen je nach zu archivierendem Dateityp templateBulkImportEMLMSG, templateBulkImportPST oder templateBulkImportMBOX benannt sein.

Befüllen der Ordner

Platzieren Sie die zu archivierenden E-Mail-Dateien der einzelnen Benutzer in den entsprechenden Ordnern unterhalb von rootpath. Bei der Archivierung von PST-Dateien, dürfen Sich diese auch in weiteren Unterordnern befinden. Ein gleichzeitiger Import unterschiedlicher Dateitypen ist nicht möglich. Möchten Sie z.B. PST- und MBOX-Dateien archivieren, so müssen Sie diese in unterschiedlichen Durchgängen archivieren.

Archivierung

Die Archivierung wird vom Skript bulkImport.py durchgeführt. Dieses muss vor der Ausführung ebenfalls mittels IDLE an Ihre MailStore Installation angepasst werden. Anders als das Skript für die Vorbereitung der Ordnerstruktur verbindet sich dieses Skript nicht mit der MailStore Administration API, sonder ruft den MailStore Client mit angepassten Parametern auf, daher müssen hier teilweise andere Werte angegeben Werten.

Sie müssen den Pfad zur MailStoreCmdSilent.exe, den Servernamen, Zugangsdaten eines Administrator, sowie den rootpath angeben.

Bei MailStore Server hat der HOST die Form computer:port. Bei der SPE ist die Form https://computer:port/instanceid.

Die Variable rootpath zeigt analog dem Skript createUserFolders.py auf den Ordner, der die einzelnen Benutzerordner enthält. Die Variable filetype hat entsprechend dem zu archivierenden Dateityp einen der Werte pst, mbox oder emlmsg.

Innerhalb von IDLE startet ein Druck auf die F5-Taste das Skript.

Logging

Während der Archivierung können Sie im Statusfenster den Vorgang verfolgen. Die Meldung exitcode: 0 besagt, dass die Datei bzw. der Ordner erfolgreich archiviert worden ist. Eine andere Ausgabe zeigt einen Fehler an. Die Task Logs zu den Vorgängen werden im Ordner rootpath angelegt und haben das Namensschema

Datum-Zeit-Benutzer-Datei.log (PST, MBOX)

bzw.

Datum-Zeit-Benutzer.log (EML/MSG)

Die Tabelle Letzte Ergebnisse im MailStore Client zeigt eine Übersicht der Durchläufe des Archivierungsprofils an. Über die Startzeit können fehlerhafte Vorgänge identifiziert werden, da die Namen der Log-Dateien mit dieser beginnen.

Migration von Exchange Archivpostfächern nach MailStore

MailStore kann auf Exchange Archivpostfächer nicht direkt zugreifen. Um darin enthaltene E-Mails dennoch archivieren zu können, müssen diese erst an einen für MailStore erreichbaren Ort kopiert werden. Die E-Mails können entweder vom Endanwender per Outlook zurück in das normale Postfach verschoben und danach in MailStore über ein Exchange- oder Outlook-Archivierungsprofil archiviert werden oder der Exchange Administrator generiert aus den Archivpostfächern PST-Dateien. Letzteres hat den Vorteil, dass dies automatisiert und zentral durchgeführt werden kann. Anschließend können die so erzeugten PST-Dateien durch das oben beschriebene Verfahren in MailStore importiert werden.

Um die PST-Dateien zu erzeugen, gehen Sie wie folgt vor:

  • Erstellen Sie eine Netzwerkfreigabe auf einem Domänencomputer, die vom Exchange Server aus erreicht werden kann.
  • Geben Sie der Domänen-Gruppe Exchange Trusted Subsystem Schreibrechte auf diese Freigabe.
  • Öffnen Sie eine Microsoft Exchange Management Shell Sitzung auf dem Microsoft Exchange Server.
  • Führen Sie das folgende Kommando in der Microsoft Exchange Management Shell aus, um [email protected] das Export-Recht einzuräumen. Passen Sie den Benutzernamen Ihrer Organisation entsprechend an:
  New-ManagementRoleAssignment -Role "Mailbox Import Export" -User administrator@example.com
  • Definieren Sie in der Exchange Management Shell Sitzung eine Variable, die auf den Freigabe-Pfad zeigt.
  $ExportPath = "\\NAS\PSTs"
  • Führen Sie das folgende Skript in der Exchange Management Shell aus, um die PST-Dateien zu erzeugen. Die Exchange Management Shell muss von dem Benutzer gestartet werden, dem zuvor das Export-Recht eingeräumt worden ist. Gegebenenfalls muss die Exchange Management Shell Sitzung neu gestartet werden:
  foreach ($mailbox in (Get-Mailbox))
 {
	 $directory = ("$ExportPath\{0}" -f $mailbox.Alias).toLower()
	 if (-not (test-path $directory) )
	 {
		 New-Item -ItemType directory -Path $directory
	 }
	 New-MailboxExportRequest -Mailbox $mailbox.Alias -FilePath ("{0}\{1}-Archive.pst" -f $directory,$mailbox.Alias) -IsArchive
 }
Hinweis: Das New-MailboxExportRequest Cmdlet erlaubt nur das Exportieren auf Netzwerk-Freigaben. Lokale Laufwerke werden nicht unterstützt. Wird der Parameter -IsArchive weggelassen, wird das normale Postfach kopiert.
  • Die Exportvorgänge laufen im Hintergrund. Deren Status kann mittels folgendem Befehl überprüft werden:
  Get-MailboxExportRequest | Get-MailboxExportRequestStatistics
  • Werden die Export-Rechte nicht mehr benötigt, kann die Rollenzugehörigkeit wieder entfernt werden.
 Get-ManagementRoleAssignment -Role "Mailbox Import Export" | select Name
 Remove-ManagementRoleAssignment "Mailbox Import Export-Administrator"
  • Im Anschluss können die PST-Dateien durch das oben beschriebene Verfahren archiviert werden.