Exchange 2010 / SBS 2011 Mailboxen exportieren und importieren

Manchmal ist es notwendig Mailboxen aus einer bestehenden Exchange 2010 oder SBS 2011 Umgebung zu exportieren.

Seiteninhalte

Benötigte Komponenten

Um den Export vornehmen zu können müssen ein paar Bedingungen erfüllt sein. Da Clientsoftware auf einem Server meiner Meinung nach nichts zu suchen hat, verwende ich hierfür immer meine Admin Workstation:

  • Exchange 2010 SP1 (ist beim SBS 2011 schon dabei)
  • Outlook 2010 x64 (seit SP1 nicht mehr notwendig)
  • Exchange Management Tools

Import & Export Rechte

Um Mailboxen exportieren und importieren zu können benötigt man ein spezielles Recht (welches per default keinem Benutzer zugeordnet ist). Die Zuordnung erfolgt wie alle weiteren Befehle auch in der Exchange Management Shell.

snaghtml2f63e1c7_thumb-7107574

New-ManagementRoleAssignment –Role “Mailbox Import Export” –User AD\ExAdmin

Export einer Mailbox

Der einfachste Vorgang ist das exportieren einer einzigen Mailbox. Hierfür reicht ein simpler Powershell Befehl:

snaghtml2f672356_thumb-9963283

New-MailboxExportRequest -Mailbox User01 -FilePath "\\adminpc\export\User01.pst”

Wichtig: Der Pfad zu den Exportdateien muss ein UNC Pfad sein, der für das System auch erreichbar ist!

Export aller Mailboxen

Ein klein wenig komplexer, aber dank PowerShell noch immer recht einfach, wird das exportieren aller vorhandenen Mailboxen auf dem System:

image_thumb2-2575320

foreach ($i in (Get-Mailbox)) { New-MailboxExportRequest -Mailbox $i -FilePath "\\adminpc\export\$($i.Alias).pst” }

snaghtml2f40b255_thumb-4906445

Status des Exports

Bei größeren Exports will man natürlich auch wissen, wie weit der Fortschritt der einzelnen Schritte ist. Diesen kann man sich mit nachfolgendem Befehl anzeigen lassen:

image_thumb3-7545420

Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

Import einer Mailbox

Daten die man exportiert hat will man natürlich auch wieder importieren. Das erreicht man mit folgendem Befehl.

image_thumb4-6978708

New-MailboxImportRequest –Mailbox User01 –FilePath "\\adminpc\export\User01.pst”

Massenimport von Mailboxen

Natürlich gibt es via Powershell auch einen Weg viele Mailboxen auf einen Schlag zurück zu spielen. In meinem Beispiel ist es notwendig, dass die exportierten Dateien den Namen der Mailbox tragen UND das die neuen Mailboxen den gleichen Namen haben! Verwendet man die Exportsyntax von oben, dann ist zumindest mal die erste Bedingung erfüllt.

image_thumb5-2930305

dir \\10.10.10.10\path_to_pst\*.pst | %{ New-MailboxImportRequest -Mailbox $_.BaseName -FilePath $_.FullName }

Gibt es ein *.pst File in dem Ordner für welchen das System keine Mailbo findet, dann erhält man diese rote Fehlermeldung. Das ist aber nicht weiter problematisch – in meinem Fall gibt es diesen Benutzer in der neuen Umgebung bewußt nicht mehr…

Aufräumen

Nachdem die Aufträge durch sind ist es wichtig, die fertigen Requests wieder aus der Exchange Request Liste zu entfernen (auch wenn Sie auf completed stehen, bleiben sie dort stehen!). Erledigt wird das wieder mit einem einfachen PowerShell Befehl:

Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

Update

12.06.2011:

  • Import Syntax angepasst und um einen Massenupdate erweitert
  • Outlook aus den benötigten Komponenten gelöscht

22.06.2011:

Ich hatte tatsächlich vergessen den Teil zum aufräumen der Requests im Exchange Request System vergessen zu erwähnen. Danke für den Hinweis Nils.

13 Gedanken zu „Exchange 2010 / SBS 2011 Mailboxen exportieren und importieren

  1. harold

    Hi Johannes,

    es zickt …

    ich starte die Exchange Konsole mit Admin Rechten, habe einem (Admin) User das Recht für den Import & Export der Mailboxen gegeben und versuche nun zu exportieren … nur ich kriege immer die gleiche Fehlermeldung:

    [PS] C:\Windows\system32>New-MailboxExportRequest -Mailbox hg -FilePath „\\PC01\Users\af\Downloads\hg.pst“

    PST-Datei ‚\\PC01\Users\af\Downloads\hg.pst‘ kann nicht geöffnet werden. Fehlerdetails: Der Zugriff auf den Pfad „\\PC01\Users\af\Downloads\hg.pst“ wurde verweigert.
    + CategoryInfo : NotSpecified: (0:Int32) [New-MailboxExportRequest], RemotePermanentException
    + FullyQualifiedErrorId : 6B4B5423,Microsoft.Exchange.Management.RecipientTasks.NewMailboxExportRequest

    af ist der Admin und hg ist der user

    af kann auf der Ordner zugreifen, hat volle rechte und im explorer auch über den UNC Pfad auf diesen Ordner zugreifen, Dateien anlegen usw.

    Hast Du eine Idee woran das liegen kann ? Ja, oberflächlich ein Berechtigungsproblem nur ich komm ja ran an den Pfad und kann alles machen Ordner anlegen, Dateien, löschen usw. …

    Und ich habe alle möglichen Freigaben getestet, auf mehreren Rechnern … habe sogar mal zum testen einen hp.pst angelegt … hat nix gebracht …

    Hast Du eine Idee ?

    Danke so oder so 🙂

    Gruss
    Harold

  2. johannes Beitragsautor

    Hi,

    das hört sich nach einem netten Problem an. Ohne das Problem schon mal gesehen zu haben würde ich jetzt mal den Virenscanner verdächtigen und zu testzwecken mal deaktivieren – die produzieren manchmal so komische Fehler…

    LG

  3. Nils Kaczenski

    Moin,

    auf den Speicherpfad muss das Dienstkonto von Exchange Zugriffsrechte haben, im Regelfall also das Computerkonto des Exchange-Servers. Den Export führt ja gar nicht der Admin durch, sondern Exchange – eine Folge des Request-Mechanismus.

    Gruß, Nils

  4. exchangedummie

    hi,

    importexportrechte vergeben hat super geklappt. meine probs tauchen danach auf. ich bekomme immer die selbe fehlermeldung, egal ob ein user oder alle.

    thx!

    Die Benennung „New-MailboxExportRequest“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eine
    s ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enth
    alten), und wiederholen Sie den Vorgang.
    Bei Zeile:1 Zeichen:25
    + New-MailboxExportRequest <<<< -Mailbox user01 -FilePath "\\servver\exbackup\user01.pst"
    + CategoryInfo : ObjectNotFound: (New-MailboxExportRequest:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

  5. Martin

    Hallo, ich bekomme leider auch die Fehlermeldung:

    Die Benennung „new-mailboxexportrequest“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
    Bei Zeile:1 Zeichen:25
    + new-mailboxexportrequest <<<< -mailbox Comcon -filepath "\\w2k8\Transfer\comcon.pst"
    + CategoryInfo : ObjectNotFound: (new-mailboxexportrequest:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

    Ich habe SBS 2011 Standard SP1 mit Exchange 2010 installiert. Brauche dringend Hilfe!

  6. Martin

    Hallo Johannes,
    Danke für die schnelle Antwort.

    Ja die Rechte hatte ich mir gegeben. Ich habe jetzt SP3 installiert, den Server neu gestartet und schon geht’s. Also nur mit SP1 und Updaterole 8 für SP1 kennt das System das Kommando nicht.
    Gruß

  7. Johannes Schmidt Beitragsautor

    Hi,
    das ist komisch. Ich bin mir sehr sicher, dass mein SBS zu dem Zeitpunkt des Artikels auch noch SP1 hatte… Wobei es absolut keine schlechte Idee ist das neuste Service Pack zu installieren. Läuft danach noch alles inkl. Backup? 😉

  8. Martin

    Das Backup läuft gerade, sieht aber gut aus. Es ist der alte Firmenserver, den ich bereits ausgetauscht habe. Jetzt habe ich die Mailboxen als pst’s vorliegen und kann sie direkt in Outlook an den Clients einspielen.

    Mein Problem war, daß mit ost’s gearbeitet wurde und daß diese zwar neu erstellt wurden (nach Einspielen der Exchange DB), jedoch die „alten“ Mails nicht angezeigt werden. Neue Mails sind alle da.

    Danke für die Hilfe. Gruß

  9. Lonesome Walker

    Und für alle, die bis hier runter scrollen, und somit fähig sind, zuerst zu Ende zu lesen:

    doch, es geht IMMER.

    Erstens, zuerst dem freigegebenen Ordner die entsprechende Berechtigung geben.
    Zweitens, das wohl Wichtigste, was keiner kapiert: damit die Exchange-Konsone das Kommando dank der neuen Rechte kennt, einmal schliessen, und neu öffnen, TADA, Befehl neu dazugekommen, und dann klappts auch endlich mit dem Export 😉

  10. The Dude

    Wie wahr,…

    Nach Stunden der Suche nicht auf zwei Banalitäten gekommen:
    1.) Neustart der Konsole
    2.) Herunterscrollen im Blog

    tz, tz, tz…

    Lüppt ohne Probs…

Kommentare sind geschlossen.