Zum Inhalt springen

Exchange & Outlook: Gelöschte Elemente automatisch leeren

Symbolbild Papierkorb

Automatisch die gelöschten Elemente in den Benutzer-Postfächern über Exchange Aufbewahrungsrichtlinie leeren.

Die Ausgangssituation

Leider kommt es immer wieder vor, dass Benutzer zwar Mails löschen (also in die gelöschten Elemente verschieben), diese aber nie endgültig gelöscht werden. Wird Outlook benutzt, kann in den Einstellungen „Ordner Gelöschte Elemente beim Beenden leeren“ aktiviert werden. Die Einstellung lässt sich vielleicht auch über eine Gruppenrichtlinie setzen (habe ich nicht geprüft). Da in meinem Fall aber viele Benutzer entweder Outlook auf domänenfremden Geräten oder Outlook on the Web (OWA, Outlook Web App/Access) verwenden, war das für mich ohnehin keine Option. Exchange ermöglicht mit den Aufbewahrungsrichtlinien eine viel schönere Lösung. Aus meiner Sicht müsste das auch so ungefähr im Office 365 funktionieren.

Exchange Admin Center

Gelöschte Elemente aufbewahren

Neben der Aufbewahrungsrichtlinie sollte auch „Gelöschte Elemente aufbewahren für (Tage):“ unter Server → Datenbanken → Datenbank-Einstellungen öffnen (z.B. Doppelklick) beachtet werden:

Quelle: Microsoft.com

Diese Einstellung steuert die Wiederherstellungsmöglichkeiten im Outlook der BenutzerInnen, die in Gelöschte Elemente → „Zuletzt aus diesem Ordner entfernte Elemente wiederherstellen“ aufgerufen werden können:

Elemente die wiederhergestellt werden können:

Quelle: Microsoft.com

Aufbewahrungstag erstellen

Verwaltung der Compliance → Aufbewahrungstags → + → „Automatisch auf einen Standardordner angewendet“ aufrufen:

Nun können die gewünschten Einstellungen gesetzt werden:

  • Name: Gelöschte Elemente endgültig löschen
  • Dieses Tag auf folgenden Standardordner anwenden: Gelöschte Elemente
  • Aufbewahrungsaktion: „Endgültig löschen“ oder „Löschen und Wiederherstellung zulassen“
  • Aufbewahrungszeitraum: z.B. 90 (Tage)
  • Speichern

Quelle: Microsoft.com

Aufbewahrungsrichtlinie erstellen

Verwaltung der Compliance → Aufbewahrungsrichtlinie → + aufrufen:

Da später vielleicht noch andere Aufbewahrungsrichtlinien hinzu kommen können, pro Postfach aber nur eine Aufbewahrungsrichtlinie gesetzt werden kann, sollte ein allgemeiner Name für die Aufbewahrungsrichtlinie verwendet werden:

Name: z.B. „Organisationsrichtlinie“ eingeben → + → zuvor erstellten Aufbewahrungstag hinzufügen:

Quelle: Microsoft.com

Aufbewahrungsrichtlinie zuweisen

Im letzten Schritt muss die Aufbewahrungsrichtlinie den jeweiligen Postfächern zugewiesen werden. Dafür müssen die Einstellungen des jeweiligen Postfachs unter Empfänger → Postfächer geöffnet werden und unter Postfachfunktionen die zuvor erstellte Aufbewahrungsrichtlinie ausgewählt und über Speichern zugewiesen werden:

Quelle: Microsoft.com

Aufbewahrungsrichtlinie mit PowerShell zuweisen

Allen Postfächern zuweisen

Wenn viele Postfächer vorhanden sind, lässt sich die Aufbewahrungsrichtlinie auch über PowerShell (in der Exchange Management Shell) zuweisen. Mit folgendem Befehl wird die Aufbewahrungsrichtlinie „Organisationsrichtlinie“ allen Postfächern innerhalb der Exchange-Organisation zugewiesen:

Get-Mailbox -ResultSize Unlimited | Set-Mailbox -RetentionPolicy "Organisationsrichtlinie"Code-Sprache: JavaScript (javascript)

Quelle: Get-Mailbox, Set-Mailbox

Active Directory Benutzern einer Organisationseinheit zuweisen

Falls die Aufbewahrungsrichtlinie nicht allen zugewiesen werden soll, kann mit dem folgenden Script gearbeitet werden. In dem Script werden zunächst die Active-Directory-Benutzer der Organisationseinheit „Benutzer“ ermittelt. Innerhalb der foreach kann dann entweder die Aufbewahrungsrichtlinie mit Set-Mailbox gesetzt oder mit Get-Mailbox angezeigt werden. Active Directory Domain, Organisationseinheit, Name der Aufbewahrungsrichtlinie und gewünschte Aktion müssen natürlich entsprechend adaptiert werden:

# Exchange Management Shell einbinden
$CallEMS = ". '$env:ExchangeInstallPath\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell "
Invoke-Expression $CallEMS

# Benutzerkonten aus AD abfragen
$adUsers = Get-ADUser -Filter "Mail -like '*@domain.at'" -SearchBase "OU=Benutzer,DC=domain,DC=at" -Properties samaccountname,description,mail | Sort Name

# Prüfen ob Postfach existiert
foreach($user in $adUsers){      
    # Aufbewahrungsrichtlinie setzen
    # Set-Mailbox $user.samaccountname -RetentionPolicy "Organisationsrichtlinie"

    # Aufbewahrungsrichtlinie anzeigen
    # Get-Mailbox $user.samaccountname | Select Name,Alias,RetentionPolicy
}Code-Sprache: PHP (php)

Quelle: Get-ADUser, Get-Mailbox, Set-Mailbox

Schreibe einen Kommentar

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

13 − sechs =