Menü schliessen
Created: November 7th 2025
Last updated: November 8th 2025
Categories: Apple OS X,  IT Support,  Microsoft Office,  Operating Systems,  Windows 10,  Windows 11
Author: Simon Wagner

☕️ Umzug von Apple Mail zu Windows mit Outlook – ein steiniger Weg mit (doch noch) möglicher Lösung

Wer schon einmal versucht hat, seine liebevoll gepflegten Apple-Mail-Postfächer nach Outlook unter Windows zu retten, weiß: Das klingt leichter, als es ist. Nach ein paar Stunden Export, Import und Nervenverlust steht man vor einer PST-Datei, die aussieht, als hätte jemand Eimer Unterordner über die Festplatte geschüttet.


🍏 Ausgangslage: Von MBOX zu PST – und dann?

Mit dem Tool Kernel for MBOX to PST (kostenpflichtig unter Windows) lassen sich Apple-Mail-Ordner zwar problemlos in Outlook lesbare PST-Dateien konvertieren, aber das Ergebnis sieht typischerweise so aus:

Projekt-XYZ.mbox
 └── mbox
      ├── Nachrichten…
      └── Unterordner…

Jeder eigentliche Unterordner hat also noch einmal einen „.mbox“-Ordner darunter – und das gleich hunderte Male. Bei 20 Projekten? Nervig. Bei 200? Katastrophe.


🔧 Erste Etappe: Ordnung schaffen in Outlook

Bevor man irgendetwas automatisch löschen kann, muss Outlook überhaupt wissen, was wo ist. Das geht direkt in Outlook per VBA – in zwei Schritten:

1️⃣ Die überflüssigen „.mbox“-Endungen entfernen

Ein kleines Makro kann alle Ordnernamen korrigieren, die auf „.mbox“ enden:


Sub RenameMboxFolders()
    Dim ns As Outlook.NameSpace
    Dim store As Outlook.store
    Dim rootFolder As Outlook.Folder

    Set ns = Application.GetNamespace("MAPI")

    ' PST-Datei mit Namen "MAIL EXPORT" finden
    For Each store In ns.Stores
        If UCase(store.DisplayName) = "PST" Then
            Set rootFolder = store.GetRootFolder
            Debug.Print "Starte Umbenennung in:", store.DisplayName
            RenameFoldersRecursively rootFolder
        End If
    Next store

    MsgBox "Umbenennung aller '.mbox'-Ordner abgeschlossen.", vbInformation
End Sub


Private Sub RenameFoldersRecursively(ByVal parentFolder As Outlook.Folder)
    Dim subFolder As Outlook.Folder
    Dim subFolders As Outlook.Folders
    Dim i As Long
    Dim oldName As String, newName As String

    Set subFolders = parentFolder.Folders

    ' Rückwärts laufen, damit die Sammlung stabil bleibt
    For i = subFolders.Count To 1 Step -1
        Set subFolder = subFolders(i)
        oldName = subFolder.Name

        ' Prüfen, ob Name auf ".mbox" endet
        If LCase(Right(oldName, 5)) = ".mbox" Then
            newName = Left(oldName, Len(oldName) - 5)
            Debug.Print "Umbenennen: " & oldName & " ? " & newName
            On Error Resume Next
            subFolder.Name = newName
            On Error GoTo 0
        End If

        ' Rekursiv tiefer gehen
        RenameFoldersRecursively subFolder
    Next i
End Sub

Ergebnis: Alle Ordnernamen heißen wieder „Projekt XY“ statt „Projekt XY.mbox“. Outlook sieht wieder halbwegs normal aus.

💡 Wichtiger Hinweis:
Der Name PST im Code muss exakt so geschrieben sein, wie die Datendatei in Outlook bei dir heißt.
In vielen Fällen heißt sie z. B. MAIL EXPORT, PST ARCHIV oder ähnlich.
Falls du unsicher bist, schau in Outlook unter
Datei → Kontoeinstellungen → Datendateien nach und kopiere den exakten Anzeigenamen.

2️⃣ Den Inhalt aus den Unterordnern „mbox“ eine Ebene höher verschieben

Viele dieser Unterordner heißen schlicht „mbox“ und enthalten die eigentlichen Mails. Ein weiteres Makro verschiebt deren Inhalt automatisch nach oben:


Sub MoveAllMboxEmails_TopLevel()
    Dim ns As Outlook.Namespace
    Dim store As Outlook.Store
    Dim rootFolder As Outlook.Folder
    Dim topFolder As Outlook.Folder

    Set ns = Application.GetNamespace("MAPI")

    ' PST-Datei finden (Name ggf. anpassen!)
    For Each store In ns.Stores
        If UCase(store.DisplayName) = "PST" Then
            Set rootFolder = store.GetRootFolder
            Debug.Print "Starte Durchlauf in:", store.DisplayName

            ' Alle Hauptordner unterhalb der Datendatei verarbeiten
            For Each topFolder In rootFolder.Folders
                Debug.Print ">> Bearbeite Hauptordner: " & topFolder.Name
                ProcessFolder_MoveOnly topFolder
            Next topFolder

            MsgBox "Verschiebung aller 'mbox'-Unterordner unterhalb der Outlook-Datendatei abgeschlossen.", vbInformation
        End If
    Next store
End Sub


Private Sub ProcessFolder_MoveOnly(ByVal parentFolder As Outlook.Folder)
    Dim subFolder As Outlook.Folder
    Dim subFolders As Outlook.Folders
    Dim i As Long

    Set subFolders = parentFolder.Folders

    ' Rückwärts iterieren, um stabile Verarbeitung zu gewährleisten
    For i = subFolders.Count To 1 Step -1
        Set subFolder = subFolders(i)

        ' Wenn Ordner genau "mbox" heißt
        If LCase(subFolder.Name) = "mbox" Then
            Debug.Print "Bearbeite: "; subFolder.FolderPath
            MoveEmailsOnly subFolder, parentFolder
        Else
            ' Rekursiv tiefer gehen
            ProcessFolder_MoveOnly subFolder
        End If
    Next i
End Sub


Private Sub MoveEmailsOnly(ByVal mboxFolder As Outlook.Folder, ByVal targetFolder As Outlook.Folder)
    Dim i As Long
    Dim itm As Object
    Dim movedCount As Long

    On Error Resume Next

    ' Rückwärts über Items iterieren, um Stabilität zu sichern
    For i = mboxFolder.Items.Count To 1 Step -1
        Set itm = mboxFolder.Items(i)
        If Not itm Is Nothing Then
            itm.Move targetFolder
            movedCount = movedCount + 1
        End If
    Next i

    On Error GoTo 0
    Debug.Print "   " & movedCount & " E-Mails verschoben von " & mboxFolder.FolderPath & " → " & targetFolder.FolderPath
End Sub

Ergebnis: Alle E-Mails aus den „mbox“-Zwischenordnern landen direkt in ihrem übergeordneten Ordner. Die „mbox“-Ordner selbst sind jetzt leer – und bereit für die endgültige Säuberung.


🤦‍♂️ Das Problem danach

Jetzt sind zwar alle Inhalte oben, aber die leeren „mbox“-Ordner bleiben übrig – und Outlook weigert sich, sie zu löschen. Selbst VBA oder das Tool MFCMAPI kommen hier an ihre Grenzen. Diese Dinger sind Pseudo-Ordner – sichtbar, aber technisch kein echtes MAPI-Objekt.


💡 Die finale Lösung: PowerShell + Redemption

Hier kommt die Erlösung: Redemption greift direkt auf PST-Dateien zu – ohne Outlook, ohne MAPI-Cache, kein Theater.

🧰 Vorbereitung

  1. Redemption von https://www.dimastr.com/redemption/ herunterladen und entpacken (z. B. nach C:\Tools\Redemption)
  2. PowerShell als Administrator öffnen
  3. DLL registrieren:

regsvr32 "C:\Tools\Redemption\Redemption64.dll"

Wichtig: Achte darauf, dass du im Skript den Pfad zu deiner PST-Datei korrekt einträgst.
Wenn deine Datei z. B. C:\Users\Af\Desktop\MailExport.pst heißt, muss genau dieser Pfad in der Zeile
$pstPath = "..." stehen. Tippfehler oder falsche Dateinamen führen dazu, dass das Skript gar nichts tut – also lieber einmal mehr prüfen.


⚙️ PowerShell-Skript zum Einfügen


# Löscht alle Ordner mit dem Namen "mbox" aus einer PST-Datei (direkter Zugriff)
$pstPath = "C:\Users\\Desktop\Final.pst"  # Pfad anpassen!

$session = New-Object -ComObject Redemption.RDOSession
$session.LogonPstStore($pstPath)

$store = $session.Stores.DefaultStore
$root  = $store.IPMRootFolder
$deletedCount = 0

function Delete-MboxRecursive {
    param($folder)
    foreach ($sub in @($folder.Folders)) {
        if ($sub.Name -eq "mbox") {
            Write-Host "Lösche:" $sub.FullPath
            try {
                $sub.Delete()
                $script:deletedCount++
            } catch {
                Write-Warning "Fehler bei: $($sub.FullPath)"
            }
        } else {
            Delete-MboxRecursive $sub
        }
    }
}

Write-Host "Starte Durchlauf..."
Delete-MboxRecursive $root
Write-Host "`nFertig. $deletedCount 'mbox'-Ordner gelöscht."

$session.Logoff()

🚀 Ausführen

  1. PowerShell kurz freigeben:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  1. Skript starten:

cd $env:USERPROFILE\Desktop
.\Delete-MboxFolders.ps1

🎯 Ergebnis

PowerShell arbeitet sich durch die gesamte PST. Im Fenster fliegen Zeilen vorbei wie:


Lösche: \\Outlook-Datendatei\Projekte\2024\Test\mbox
Lösche: \\Outlook-Datendatei\Archiv\Mailingliste\mbox
Fertig. 777 'mbox'-Ordner gelöscht.

Beim Öffnen in Outlook: Alles sauber, keine sinnlosen Zwischenordner mehr. Nur noch deine echten Mailordner.


🧹 Zum Abschluss

  1. Gelöschte Elemente leeren
  2. PST komprimieren: Datei → Kontoeinstellungen → Datendateien → Outlook-Datendatei → Einstellungen → Jetzt komprimieren

🤷 Fazit

Was als simpler Mail-Umzug begann, endete als digitaler Hindernislauf durch Ordnerhölle, VBA-Workarounds, MAPI-Fallen und PowerShell-Befreiung.
Am Ende bleibt:
– Kernel for MBOX to PST → bringt die Mails nach Outlook.
– Redemption → bringt endgültig Ruhe in die Ordnerstruktur.

🧠 Kurz gesagt: Nicht alles, was Outlook zeigt, lässt sich auch löschen – aber mit der richtigen Mischung aus Geduld, Kaffee und PowerShell schon.


Tags: #Outlook #PST #MBOX #PowerShell #Redemption #Migration #AppleMail #Windows