Sweep-Rules
Eher zufällig bin ich über die Exchange Commandlets "*-SweepRule" gestolpert. Neugierig habe ich etwas recherchiert und eine ganz nützliche Funktion entdeckt, die man aber wohl nur in Outlook Web App mit dem eigenen Exchange Postfach nutzen kann.
Problem
Auch wenn die meiste Kommunikation mittlerweile über Microsoft Teams per Chat, in den Kanälen oder in Meetings erfolgt, ist mein Posteingang immer noch eine wichtige Informationsdrehscheibe. Unzählige Statusmeldungen über erfolgreiche Datensicherungen, Berichte von Firewalls, Kontobewegungen der Bank oder andere "Erfolg"- und "Fehler"- Benachrichtigungen landen hier und nicht alle "löschen" ich nach Kenntnisnahme, sondern verschieben sie in einem Ordner. Vieleicht muss ich später ja noch mal nachschauen oder danach suchen.
Aber bislang muss ich eben auch jede Mail verschieben und es gibt sicher auch bei ihnen solche Mails, die das System durchaus automatisch verschieben kann aber bitte nicht sofort. Eine einfache "Posteingangsregel" wäre da kontraproduktiv, da dann die Mail direkt im jeweiligen Ordner landet und Sie diese gar nicht mehr sehen.
Lösung
Hier kommen dann die "Sweep-Rules" zum Einsatz, die in der deutschen Übersetzung einfach nur "Aufräumen" genannt wurden. Etwas unschön ist dabei, dass Sie solche Regeln aktuell (Anfang 2022) weder in Outlook noch auf dem Mobilgerät sehe, sondern nur über Outlook Web Access unter https://outlook.office365.com. Wenn Sie dort ihrem Posteingang öffnen und so eine Mail anklicken, dann finden Sie oben die "Aufräumen"-Funktion:
Damit legen Sie eine "Sweep-Rule" für diesen Absender an. Als einziger Filter für die Anwendung einer Sweep-Rule ist auch nur der Absender möglich. Sie können also nicht weiter z.B. nach Texten im Betreff oder Body filtern. Für den Absender haben Sie dann die Auswahl von vier Optionen:
- Ich kann alle Nachrichten von dem
Anwender einmalig in den angegeben Order
verschieben
Achtung: Der Standardorder ist "Gelöschte Elemente". Aber schon das ist sehr hilfreich, um auf einen Schlag alle Mails eines Absenders einmalig zu löschen oder einen anderen Ordner zu verlagern.
Diese Aktion wird nur einmal ausgeführt und legt keine SweepRule an! - Alte und zukünftige Nachrichten in den
Ordner verschieben
Diese Funktion entspricht dann wieder den klassischen "Regeln", die quasi sofort aktiv werden. - Alle Nachrichten außer die Neueste
verschieben
Das ist aus meiner Sicht eine sehr nützliche Funktion, um z.B. wiederkehrende Mails automatisch zu verarbeiten, bei den die jeweils letzte Mail eigentlich wichtig ist und die vorherigen Mails quasi nur noch archiviert werden. - Älter 10 Tagen verschieben
Wenn die eine letzte Mail doch zu wenig ist, könnte diese Option eine Lösung sein. Alles älter 10 Tage wird quasi archiviert.
Nur die beiden letzten Optionen sind richtige "SweepRules". Ich nutze z.B. die dritte Option z.B. für die täglichen/wöchentlichen Berichte der Firewall. Ich möchte diese Bericht nicht löschen aber mich interessiert nur der letzte Tag. Wenn ich mehrere Tage nicht meinen Posteingang bearbeite, dann übersehe ich natürlich die älteren Berichte. Aber ich bin ja nicht der einzige Empfänger dieser Reports und z.B. eine Meldung über einen alten Softwarestand ist in der Folgemeldung auch sichtbar.
Nachdem ich die Regel angelegt hat, zeigt mir Outlook Web Access erst einmal eine Bestätigung an:
Sie sehen aber auch, dass die Verarbeitung nun "asynchron" erfolgt. Danach kann ich über "Regeln anzeigen" direkt in den Einstellungen, wo ich die neue Regel und bestehende Aufräum-Regeln sehen, deaktivieren oder löschen:
An die Stelle komme ich natürlich auch über die normalen Einstellungen, die sich oben rechts unter dem Zahnrad verbergen.
Diese Regeln liegen im Exchange Postfach auf dem Server und werden vom Server zyklisch ausgeführt.
Powershell
Die Einstellungen der Regeln kann ich als Benutzer natürlich auch per PowerShell verändern. Die meisten Anwender werden diese Funktion natürlich nicht nutzen, denn schon der Anblick einer PowerShell wirkt für diese Personen abschreckend und eine Verbindung zu Exchange oder Exchange Online muss auch erst einmal hergestellt werden.
Das gilt aber nicht für Administratoren, die über die PowerShell z.B. die Sweep-Regeln in einem Benutzerpostfach die Regeln anzeigen und ändern können.
- Find the permissions required to run any
Exchange cmdlet
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps
Dazu benötigen Sie natürlich die entsprechenden Managementrollen. In Exchange Online sind folgende Rollen für Set-Sweeprule mit dem Parameter "Mailbox" berechtigt:
Import-Module ExchangeOnlineManagement Connect-ExchangeOnline $perms= Get-ManagementRole -Cmdlet set-sweeprule -CmdletParameters mailbox $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName} Role RoleAssigneeType RoleAssigneeName ---- ---------------- ---------------- MyTextMessaging RoleAssignmentPolicy Default Role Assignment Policy Role RoleAssigneeType RoleAssigneeName ---- ---------------- ---------------- Mail Recipients RoleGroup Organization Management Mail Recipients RoleGroup Recipient Management Mail Recipients RoleGroup OnMicrosoft Admin Only Role RoleAssigneeType RoleAssigneeName ---- ---------------- ---------------- User Options RoleGroup Help Desk User Options RoleGroup Organization Management
Die Berechtigungen für New-SweepRule ist z.B. nicht der "Default Role Assignment Policy" zugewiesen.
$perms= Get-ManagementRole -Cmdlet new-sweeprule -CmdletParameters mailbox $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName} Role RoleAssigneeType RoleAssigneeName ---- ---------------- ---------------- Mail Recipients RoleGroup Organization Management Mail Recipients RoleGroup Recipient Management Mail Recipients RoleGroup OnMicrosoft Admin Only Role RoleAssigneeType RoleAssigneeName ---- ---------------- ---------------- User Options RoleGroup Help Desk User Options RoleGroup Organization Management
Die eigentliche Regeln hat folgende Einstellmöglichkeiten. Hier einfach die Ausgabe der gerade angelegten Regel:
PS C:\> Get-SweepRule | fl RunspaceId : <guid> Identity : Carius, Frank \xxxxxxxxxxxxx== Name : Nachrichten von Firewall Notification System Provider : Exchange16 RuleId : xxxxxxxxxxxxx== SourceFolder : Posteingang DestinationFolder : Firewall SystemCategory : Sender : "utm@msxfaq.de" [SMTP:utm@msxfaq.de] KeepForDays : KeepLatest : 1 Enabled : True InError : False ExceptIfFlagged : False ExceptIfPinned : False MailboxOwnerId : Carius, Frank IsValid : True ObjectState : Unchanged
Natürlich gibt es noch die weiteren Commandlets, um neue Regeln anzulegen, bestehende Regeln zu ändern, deaktivieren, aktivieren.
- Get-SweepRule
https://docs.microsoft.com/de-de/powershell/module/exchange/get-sweeprule?view=exchange-ps - New-SweepRule
https://docs.microsoft.com/de-de/powershell/module/exchange/new-sweeprule?view=exchange-ps - Set-SweepRule
https://docs.microsoft.com/de-de/powershell/module/exchange/set-sweeprule?view=exchange-ps - Remove-SweepRule
https://docs.microsoft.com/de-de/powershell/module/exchange/Remove-sweeprule?view=exchange-ps - Enable-SweepRule
https://docs.microsoft.com/de-de/powershell/module/exchange/Enable-sweeprule?view=exchange-ps - Disable-SweepRule
https://docs.microsoft.com/de-de/powershell/module/exchange/Disable-sweeprule?view=exchange-ps
Weitere Links
- Organize your inbox with Archive, Sweep, and other tools in Outlook.com
https://support.microsoft.com/en-gb/topic/19eee6b9-09a1-4db6-b5d6-37644190884f - How to: Sweeping and scheduled clean up of your Outlook.com account
https://www.windowscentral.com/sweeping-and-scheduled-cleaning-outlookcom-accounts - Outlook - Using the New Sweep Rules to Keep your Inbox Organized
https://www.youtube.com/watch?v=_2dY6ovgrIE - Outlook Sweep Feature - Awesome built-in tool to keep your inbox clean
https://www.youtube.com/watch?v=dBZAbIJE1O0