Deaktivieren der Archivierung von Kalendereinträgen und Aufgaben unter Exchange

Das Problem

In Benutzung ist ein Exchange 2013-Server mit vielen verschiedenen Clients. Auf diesem Server unterstützt die Messaging-Datensatzverwaltung (Messaging Records Management, MRM) das Archivieren von E-Mails, d.h. Mails sollen nach einer gewissen Zeit archiviert werden. Mehr zu Aufbewahrungsrichtlinien bei Exchange 2013 unter [1]. Erwartet wird nun, dass nur die E-Mails aller Benutzer in das Archivpostfach verschoben werden. Es fällt aber auf, dass bei allen Benutzern neben den E-Mails auch die Kalendereinträge und Aufgaben in diesem Postfach aufbewahrt werden.

Dieses Verhalten würde man gerne für alle Benutzer deaktivieren.

Die Lösung

Kalendereinträge und Aufgaben werden archiviert, weil sie seit Exchange 2010 SP2 RU2, wie auch die E-Mails schon vorher, von der Standardaufbewahrungsrichtlinie betroffen sind. Für deren Verarbeitung sind die Standardrichtlinientags (Default Policy Tag, DPT) verantwortlich. Will man nun, wie in unserem Fall, die Kalendereinträge und Aufgaben von der Archivierung ausschließen, muss man diese vor der Anwendung der DPT ausschließen.

Dies kann man durch Anhängen einer eigenen Aufbewahrungsrichtlinie an alle Mailboxen oder über einen Registry-Key bewerkstelligen. Dabei sollte man beachten, dass das Anlegen der Aufbewahrungsrichtlinie nur bewirkt, dass allen danach erstellten Kalendereinträgen und Aufgaben das Tag „nicht archivieren“ angehängt wird. Alle Elemente, die vor der Erstellung dieser Richtlinie erstellt worden sind, haben noch das DPT. Im Folgenden werde ich trotzdem beide Lösungen vorstellen.

Für die Aufbewahrungsrichtlinie benötigen wir zunächst zwei Aufbewahrungsrichtlinientags. Dazu geben wir folgende zwei Zeilen in die Exchange Management Console (EMC) ein:

New-RetentionPolicyTag -Name "Never Delete Calendar Items" -Type Calendar -RetentionAction DeleteAndAllowRecovery -RetentionEnabled $false

New-RetentionPolicyTag -Name "Never Delete Tasks" –Type Tasks -RetentionAction DeleteAndAllowRecovery -RetentionEnabled $false

Diese erstellen uns ein Tag für Kalendereinträge und einen für Aufgaben. Nun können wir mit folgender Zeile die Tags einer neuen Aufbewahrungsrichtlinie hinzufügen:

New-RetentionPolicy "DoNotArchive"  -RetentionPolicyTagLinks "Never Delete Calendar Items", "Never Delete Tasks"

Zuletzt muss diese Aufbewahrungsrichtlinie allen Postfächern zugewiesen werden. Das bewerkstelligt folgende Zeile:

Get-Mailbox -ResultSize unlimited | Set-Mailbox -RetentionPolicy "DoNotArchive"

Dies sollte wie folgt aussehen:

Damit wird allen Kalendereinträgen und Aufgaben dieses Tag angehängt. Mit folgendem Befehl lässt sich anschließend überprüfen ob die Aufbewahrungsrichtlinie auf alle Mailboxen angewendet wurde:

Get-Mailbox -ResultSize unlimited | Where-Object {$_.RetentionPolicy -eq "DoNotArchive"} | Format-Table Name,RetentionPolicy –Auto

Wie zuvor erwähnt betrifft dies nicht die vorher erstellten Einträge und Aufgaben.

Um allen vorhergehenden und zukünftigen Kalendereinträge und Aufgaben die DPTs zu entfernen reicht es aus einen Registry-Key-Eintrag auf allen Exchange Servern anzupassen. Wir gehen nun wie folgt vor:

  • Öffnen des Registry Editors durch Ausführen von regedit im Ausführungsfenster (Windows-Taste + R)

  • Navigieren zu dem Pfad: HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeMailboxAssistants\Parameters

  • Darin ändern wir den Wert des Schlüssels ELCAssistantCalendarTaskRetentionEnabled von 1 auf 0

Sollte der erwähnte Schlüssel noch nicht vorhanden sein, müssen wir ihn vorher anlegen. Dazu legt man ein neues DWORD mit dem Namen ELCAssistantCalendarTaskRetentionEnabled an. Nach Erstellung wird dessen Wert standardmäßig auf 0 gesetzt, weshalb eine Änderung nicht nötig ist.

Danach sollte der Schlüssel wie folgt aussehen:

Nun werden sowohl Kalendereinträge als auch Aufgaben von der Anwendung des Standardrichtlinientags ausgeschlossen.

[1] https://technet.microsoft.com/de-de/library/dd297955(v=exchg.150).aspx