Automatisches Verschieben gelöschter Nachrichten in Outlook

Outlook VBA

Viele E-Mail-Nutzer stehen vor dem Problem, dass Nachrichten im Ordner „Gelöschte Elemente“ nach einer gewissen Zeit automatisch gelöscht werden. Standardmäßig entfernt Outlook solche Nachrichten häufig nach 30 Tagen. Um wichtige E-Mails vor dem automatischen Löschen zu bewahren, bietet Outlook mehrere Möglichkeiten, gelöschte Nachrichten automatisch in einen anderen Ordner zu verschieben oder sie alternativ zu archivieren.

Archivieren statt Löschen

Die einfachste Methode besteht darin, Nachrichten, die möglicherweise noch benötigt werden, nicht zu löschen, sondern zu archivieren. Nutzer sollten ausschließlich offensichtlichen Spam und unerwünschte Nachrichten löschen. Wer eine aufgeräumte Mailbox bevorzugt, kann die Schaltfläche Archivieren verwenden. Diese ist meist durch ein Symbol dargestellt, das einer Aktenschublade ähnelt. Beim Drücken der Rücktaste wird die Nachricht ebenfalls archiviert, während die Entf-Taste die E-Mail löscht. Dieses Verfahren funktioniert in allen Outlook-Versionen, einschließlich der klassischen, der neuen und der Web-Version.

Quick Steps für gezieltes Verschieben

Eine weitere Möglichkeit bieten Quick Steps. Damit können Nachrichten mit einem einzigen Klick in einen bestimmten Ordner verschoben werden. Der Vorteil gegenüber dem Archivieren ist die freie Wahl des Zielordners. Quick Steps sind in der Outlook-Menüleiste unter Start verfügbar. Außerdem können sie mit Tastenkombinationen in der Form STRG + UMSCHALT + [1–9] versehen werden. Dies ist besonders praktisch für Anwender, die bevorzugt mit der Maus oder über definierte Tastenkürzel arbeiten.

AutoArchivierung in klassischem Outlook

In der klassischen Outlook-Version kann die AutoArchivierungsfunktion gezielt auf den Ordner „Gelöschte Elemente“ angewendet werden. Auf diese Weise lassen sich ältere Nachrichten automatisch in eine PST-Datei verschieben, ohne dass sie endgültig gelöscht werden. Diese Methode eignet sich insbesondere für lokale Sicherungen.

VBA-Makros und Sicherheitsaspekte

Alternativ lässt sich das Verschieben gelöschter Nachrichten auch über VBA automatisieren. Allerdings erfordert dies eine Herabsetzung der Makrosicherheitsstufe, was in vielen Unternehmensumgebungen nicht erwünscht ist. Deshalb wird häufig eine serverseitige Lösung oder der Einsatz von PowerShell bevorzugt.

PowerShell als flexible Lösung

PowerShell bietet eine besonders flexible Möglichkeit, Nachrichten aus dem Ordner „Gelöschte Elemente“ automatisiert in einen anderen Ordner zu verschieben, ohne Änderungen an den Sicherheitsrichtlinien vornehmen zu müssen. Die Skriptausführung kann über die Windows Aufgabenplanung regelmäßig gestartet werden, sodass keine manuelle Ausführung erforderlich ist. Bei Mailservern, die gelöschte Nachrichten nach 30 Tagen automatisch entfernen, reicht in der Regel ein wöchentlicher Durchlauf.

Funktionsweise des PowerShell-Skripts

Das Skript verbindet sich über die Outlook COM-Schnittstelle mit dem Postfach und prüft jedes Element im Ordner „Gelöschte Elemente“. Dabei wird kontrolliert, ob es sich um eine E-Mail handelt. Nur Nachrichten werden verschoben. Andere Elemente wie Kalendereinträge, Kontakte oder Besprechungsanfragen bleiben unberührt. Dies verhindert, dass Outlook versehentlich Entwürfe erstellt, anstatt die Elemente zu verschieben.

$outlook = New-Object -ComObject Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")
$fromFolder = $namespace.GetDefaultFolder(3) # Deleted Items folder
$moveto = $fromFolder.Parent.Folders("Hold Deleted For Review")
$items = $fromFolder.Items
$EmailCount = $items.count
for ($i = $EmailCount; $i -ge 1; $i--) {
    $item = $items.Item($i)
    if ($item -is [Microsoft.Office.Interop.Outlook.MailItem]) {
      $item.Move($moveto)
    }
}

Verwendung von PowerShell-Skripten

Zum Ausführen des Skripts öffnet man über das Startmenü die Windows PowerShell. In der PowerShell ISE steht zusätzlich ein komfortabler Skriptbereich zur Verfügung. Der komplette Code wird in das Fenster eingefügt und durch Drücken der Eingabetaste oder des Run-Buttons gestartet.

Speichern und Ausführen eigener Skripte

Wer das Skript dauerhaft verwenden möchte, kann es als .ps1-Datei abspeichern. Dazu wird der Code in den Editor eingefügt und mit der entsprechenden Endung gesichert. In der PowerShell IDE kann die Datei anschließend geöffnet und angepasst werden. Damit lokale Skripte ausgeführt werden dürfen, muss die folgende Richtlinie gesetzt werden:

Set-ExecutionPolicy RemoteSigned

Zum Ausführen genügt ein Rechtsklick auf die gespeicherte .ps1-Datei und die Auswahl der Option Mit PowerShell ausführen. Damit lassen sich gelöschte Nachrichten zuverlässig in einen separaten Ordner verschieben und vor automatischer Löschung schützen.

-

Vorheriger Artikel Nächster Artikel

Hat Ihnen der Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert