Effacer un message (spam) dans toutes les boites d’un tenant
Remarques :
- Cette méthode ne permet pas de supprimer un mail d’une boite partagée si l’on est pas membre de cette dernière (liste codir par exemple).
- Le Powershell doit être lancé en tant qu’administrateur avant toute manipulation
Prérequis :
- Droits d’admin sur le tenant
- Exécution de script activé sur le poste
- Avoir le Module EXO v2
- Pour autoriser l’exécution de script sur le poste, taper la commande Powershell (à faire la première fois) :
Set-ExecutionPolicy RemoteSigned
- Pour importer le module EXO v2, taper la commande Powershell (à faire la première fois :
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.5
- Se connecter au service Exchange en utilisant son UPN
Connect-IPPSSession -UserPrincipalName nom@domaine.com
- Créer une nouvelle recherche et initialisé le filtre (objet du mail + date d’envoi).
Nommer la recherche de manière explicite (ici Spam1), pour l’exemple le sujet est "Notification!"
.
Attention, la date est au format anglosaxon, pour l’exemple le 18/05/2022.
New-ComplianceSearch -Name "Spam1" -ExchangeLocation "All" -ContentMatchQuery 'subject:"Notification!" AND sent:05/18/2022'
- Lancer la recherche (peut prendre du temps)
Start-ComplianceSearch -Identity Spam1
- Vérifier l’état de la recherche (on attend l’état « Completed » pour passer à la suite)
Get-ComplianceSearch -Identity Spam1
- Afficher le résultat de la recherche
Get-ComplianceSearch -Identity Spam1 | Format-List *
- Supprimer le mail en question (l’attribut SoftDelete va supprimer le résultat de la recherche de la boîte et de la corbeille. Le mail reste dans les éléments récupérables)
New-ComplianceSearchAction -SearchName Spam1 -Purge -PurgeType SoftDelete
Et répondez Yes pour effacer…
Pensez à libérer la recherche avec :
Remove-ComplianceSearch -Identity Spam1
Merci à Pierre FERON pour la rédaction de cette documentation.