stefankittel
Goto Top

M365 Mails mit bestimmten Betreff und älter als 72h in allen Postfächern löschen

Hallo,
ein Kunde führt gerade ein Ticket-System ein. Dadurch bekommen die Mitarbeiter bis zu 30 Mails pro Tag wegen neuer oder geänderter Tickets.

Darin steht nur eine Info und ein Link. Die können am nächsten Tag einfach gelöscht werden.
Das macht aber keiner.

Gibt es eine Möglichkeit alle M365 Mails mit bestimmten Betreff und älter als 72h in allen Postfächern zu löschen?
Per PS oder so?

Jeder könnte in seinem Outlook eine Regel dafür erstellen, aber das werden die meisten nicht hinbekommen oder schlicht nicht machen.

Stefan

Content-ID: 669338

Url: https://administrator.de/contentid/669338

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

Penny.Cilin
Penny.Cilin 07.11.2024 um 16:10:21 Uhr
Goto Top
Hallo Stefan,

Jeder könnte in seinem Outlook eine Regel dafür erstellen, aber das werden die meisten nicht hinbekommen oder schlicht nicht machen
würde ich folgendermaßen versuchen zu erledigen:

  • es wird einmal einen Satz an Regeln für diese Thematik erstellt.
  • Diese Regeln werden exportiert (gesichert)
  • Weitere Personen importieren diesen Relgelsatz.
  • Fertisch

Gruss Penny.
Kraemer
Kraemer 07.11.2024 um 16:22:13 Uhr
Goto Top
catrell
Lösung catrell 07.11.2024 aktualisiert um 17:25:02 Uhr
Goto Top
In Azure eine AppRegistration erstellen mit den MG Graph Berechtigungen für eine Application und den Scopes Mail.ReadWrite.All, User.Read.All, MailboxFolder.ReadWrite für alle Mailboxen. Dann noch Credentials für die App-Registration erstellen und Client-ID und Passwort notieren, oder Zertifikat generieren und das als Credential für den Login der Application nutzen.
Dann mit Powershell und der MG-Graph API alle Mailboxen holen mittels Get-MgUser. Dann per Schleife über die User und Get-MgUserMailFolderMessage die gewünschten Nachrichten per Filter-Parameter ausfiltern und mittels Remove-MgUserMessage diese Mails löschen. Done.

Gruß catrell
Delta9
Delta9 07.11.2024 um 16:57:35 Uhr
Goto Top
Warum mit den Folgen beschäftigen wenn man die Ursache abstellen könnte face-smile

Wiso bekommen denn die Mitarbeiter 30 unwichtige Mails pro Tag und warum sind die am Folgetag noch unwichtiger?

Würde eher die Orga überdenken und das Ticketsystem vernünftig konfigurieren

PS: Der vorschlag von @catrell ist der richtige weg.
colinardo
Lösung colinardo 07.11.2024 aktualisiert um 18:17:06 Uhr
Goto Top
Servus Stefan.
Hier mal etwas M365 PS-Praxis für das Gewünschte mittels MG-Graph API.

back-to-topNeue Application Registration in Azure anlegen:


back-to-topClient-ID notieren


9744caf75e296aab33b00e92cbb6795e

back-to-topBerechtigungen für die Graph API vergeben


739e171edc24257bc6f7c13a335f9bfd

back-to-topCredentials generieren und geheimen Schlüssel notieren


2763cab2ae5fcd91ab142a8c63cba3c4

back-to-topPowershell-Skript


<#
    Remove messages older than x days with subject that contains specific subject string from all users mailboxes inbox folder
#>

# Variables ----------------------------------------------------
# tenant domain
$tenant = 'xxxxxxxx.onmicrosoft.com'  
# client id
$client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'  
# client secret
$client_password = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'  
# subject substring to match
$subject_string = 'my subject to match'  
# only messages older than x days
$date = (get-date).AddDays(-3).Date
# --------------------------------------------------------------
$ErrorActionPreference = 'Stop'  
# needed modules
$modules = 'Microsoft.Graph.Mail','Microsoft.Graph.Users'  
# install modules if needed
$modules | %{
    if(!(Get-Module -ListAvailable -Name $_)){
        Install-Module $_ -Force -Scope CurrentUser
    }
    Import-Module $_
}

# connect to MG Graph
Connect-MgGraph -Tenant $tenant -ClientSecretCredential (new-Object PSCredential($client_id,(ConvertTo-SecureString $client_password -AsPlainText -Force))) -NoWelcome

# process each users mailbox
foreach($user in Get-MGUser -All -Property Id,Mail){
    # get messages with specific subject and older than x days from the inbox
    foreach ($message in Get-MgUserMailFolderMessage -MailFolderId inbox -UserId $user.id -All -Property id,subject,ReceivedDateTime -Filter "contains(subject,'$subject_string') and ReceivedDateTime lt $($date.toString('s'))Z"){  
        try{
            write-host "Removing message with subject '$($message.subject)' received on '$($message.ReceivedDateTime)' from mailbox '$($user.Mail)' ..." -F Green  
            Remove-MgUserMessage -MessageId $message.id -UserId $user.id
        }catch{
            write-host "Exception: $($_.Exception.Message)" -F Red  
        }
    }
}
# disconnect MG Graph session
Disconnect-MgGraph | out-null

Falls man nicht nur den Posteingang der Mailboxen durchsuchen möchte sondern auch sämtliche anderen Ordner der Mailbox. ersetze man die Zeile 34 durch diese Variante:

foreach ($message in Get-MgUserMessage -UserId $user.id -All -Property id,subject,ReceivedDateTime -Filter "contains(subject,'$subject_string') and ReceivedDateTime lt $($date.toString('s'))Z"){  

Viel Spaß damit.

Grüße Uwe
StefanKittel
StefanKittel 08.11.2024 um 00:22:07 Uhr
Goto Top
Zitat von @Delta9:
Warum mit den Folgen beschäftigen wenn man die Ursache abstellen könnte face-smile
Ich bin nur der externe IT-Ler face-smile
Die Leute könnten einfach mehrmals am Tag ins Ticket-System schauen.
Machen sie aber einfach nicht. Die schauen nur in Outlook und in die Mails.
Wenn es nicht eine Mail pro neues/geändertes Ticket gibt, schauen die da Tagelang einfach nicht rein.
Und solange der GF sagt das wäre OK, ändert sich auch nix.

Wiso bekommen denn die Mitarbeiter 30 unwichtige Mails pro Tag und warum sind die am Folgetag noch unwichtiger?
Es sind ja nur Mails wie "Es gibt ein neues Ticket".

Ich suche, wie immer, eine praktische Lösung für ein Problem was der Kunde nicht organisatorisch lösen kann oder will.

Stefan
Delta9
Delta9 08.11.2024 um 07:34:03 Uhr
Goto Top
Als externer hat man da kaum eine Chance.
Wie gesagt, leider werden heutzutage viel zu oft nur die Symptome behandelt anstatt die Ursache anzugehen.
Da geht so viel Energie drauf ohne irgend einen positiven Effekt zu erlangen.
Bestes Beispiel ist der andere Beitrag mit der EÜR in Excel wo noch an einer kleinen funktionalen Erweiterung getüftelt wird, der „Elsterkram“ per Hand erstellt wird und andere Neuerungen wie die e-Rechnung komplett ausgeblendet wird.
Anstatt das ganze Vorgehen organisatorisch zu überdenken, die Entscheidung zu treffen welche Aufgabe der StB übernimmt und welche selber erledigt werden , und welche Schnittstelle der StB hat und darauf aufbauend die passende Software( egal ob Cloud oder on-Premise)auswählt.