rss logo

Microsoft 365 : Comment rechercher des emails avec PowerShell

Logo Microsoft 365

Nous allons voir ici comment chercher ou tracer des emails sur Microsoft 365 avec PowerShell.

Prérequis

La première chose à faire est d'installer la Console Microsoft Exchange Online PowerShell qui nous permettra de nous connecter à notre compte Microsoft 365 via PowerShell. Pour se faire on pourra cliquer sur le merveilleux article suivant.

  • L'icone suivante devrait apparaitre sur le bureau :
l'icone powershell microsoft 365

Se connecter à Microsoft 365

  • On utilisera la commande Connect-EXOPSSession pour ouvrir la fenêtre de connexion Microsoft 365 :
PS C:\> Connect-EXOPSSession -UserPrincipalName admin@std.rocks
  • S'authentifier avec un compte administrateur :
Fenêtre de connexion Microsoft 365
  • Entrer son mot de passe :
Fenêtre Microsoft 365 pour entrer son mot de passe
  • Une fois les identifiants validé nous sommes connectés :
Console PowerShell Microsoft 365

Les commandes pour rechercher les emails

⚠️ Il n'est pas possible de réaliser des recherches de plus de 10 jours en arrière.⚠️

Maintenant que tout est en place nous et que nous sommes connectés à notre compte Microsoft 365 nous pouvons réaliser des recherches d'emails.

  • Rechercher tous les messages qui ont été envoyé depuis le domaine std.rocks sur une période de 10 jours :
PS C:\> Get-MessageTrace -StartDate $(get-date).AddDays(-10) -EndDate $(get-date) | Where-Object { $_.SenderAddress -match 'std.rocks' }
  • Rechercher tous les messages qui ont été envoyé depuis le domaine std.rocks sur une période de 10 jours avec des infomations détaillées :
PS C:\> Get-MessageTrace -StartDate $(get-date).AddDays(-10) -EndDate $(get-date) | Select-Object Received, SenderAddress, RecipientAddress, Subject, Status, ToIP, FromIP, Size, MessageID, MessageTraceID | Where-Object { $_.SenderAddress -match 'std.rocks' }
  • Recherche avec deux conditions : tous les messages qui ont été envoyés depuis le domaine std.rocks et à destination de l'adresse user@shebangthedolphins.net sur une période de 5 jours en affichant toutes les informations disponibles :
PS C:\> Get-MessageTrace -StartDate $(get-date).AddDays(-5) -EndDate $(get-date) | Select-Object * | Where-Object { $_.SenderAddress -match 'std.rocks' -and $_.RecipientAddress -match 'user@shebangthedolphins.net' }
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address