Comment utiliser les journaux d’audit de boîte aux lettres dans Microsoft 365

Dans Microsoft 365, vous pouvez exécuter des journaux d’audit de boîte aux lettres pour déterminer quand une boîte aux lettres a été mise à jour de manière inattendue ou si des éléments sont manquants dans une boîte aux lettres. Par exemple, vous devrez peut-être le faire si des éléments sont déplacés ou s’ils sont supprimés de manière inattendue ou incorrecte.

Remarque : Pour l’environnement vNext, par défaut, les journaux d’audit de boîte aux lettres ne sont pas activés. La fonctionnalité doit être activée pour qu’un utilisateur commence une recherche.

Comment exécuter et vérifier les journaux d’audit de boîte aux lettres

La journalisation de l’audit de boîte aux lettres permet aux utilisateurs d’obtenir des informations sur les actions effectuées par les non-propriétaires et les administrateurs. La journalisation de l’audit de boîte aux lettres est disponible pour les membres du groupe de boîtes aux lettres de création de rapports d’audit en libre-service uniquement à l’aide de Windows Remote PowerShell.

Note

  • Par défaut, seule la journalisation d’audit d’audit de boîte aux lettres non propriétaire est activée et la journalisation de l’audit des boîtes aux lettres propriétaire est désactivée. Si vous devez effectuer la journalisation d’audit de la boîte aux lettres propriétaire pour examiner un problème spécifique, vous pouvez activer temporairement le processus pendant deux semaines.
  • Certaines organisations peuvent ne pas vous permettre d’utiliser la journalisation d’audit de boîte aux lettres. Dans ce cas, la fonctionnalité sera désactivée pour vous.

Pour examiner ce problème, créez et utilisez un script Windows PowerShell à l’aide de l’exemple de script fourni à l’étape 1 de cette section, puis personnalisez une recherche. Par défaut, vous pouvez examiner les actions effectuées par des non-propriétaires et des administrateurs. Ce script exporte du contenu dans un fichier de valeurs simplifiées séparées par des virgules (.csv) pour vous aider à résoudre les problèmes liés aux éléments manquants ou mis à jour de manière inattendue.

Important

Les clients sont encouragés à utiliser cet exemple de script. Le script est fourni par Microsoft Online Services pour faciliter certaines enquêtes. Les scripts Microsoft Online Services sont génériques et doivent être utilisables dans tous les environnements clients. Si des erreurs se produisent lorsqu’un script est exécuté, le contenu du script doit être utilisé comme exemple pour créer un script personnalisé pour un environnement client particulier. Microsoft Online Services fournit le script de manière pratique aux clients Microsoft 365 sans garantie, exprimée ou implicite.

Étape 1 : Exécuter le script

Pour exécuter le script, procédez comme suit :

  1. Ouvrez un éditeur de texte, tel que le Bloc-notes, puis copiez le code suivant dans le fichier. Le code utilise la search-mailboxAuditLog commande qui fait partie de Microsoft Exchange Server.

     param ([PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)]
    [string]$Mailbox,
    [PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)]
    [string]$StartDate,
    [PARAMETER(Mandatory=$TRUE,ValueFromPipeline=$FALSE)]
    [string]$EndDate,
    [PARAMETER(Mandatory=$FALSE,ValueFromPipeline=$FALSE)]
    [string]$Subject,
    [PARAMETER(Mandatory=$False,ValueFromPipeline=$FALSE)]
    [switch]$IncludeFolderBind,
    [PARAMETER(Mandatory=$False,ValueFromPipeline=$FALSE)]
    [switch]$ReturnObject)
    BEGIN {
      [string[]]$LogParameters = @('Operation', 'LogonUserDisplayName', 'LastAccessed', 'DestFolderPathName', 'FolderPathName', 'ClientInfoString', 'ClientIPAddress', 'ClientMachineName', 'ClientProcessName', 'ClientVersion', 'LogonType', 'MailboxResolvedOwnerName', 'OperationResult')
      }
      END {
        if ($ReturnObject)
        {return $SearchResults}
        elseif ($SearchResults.count -gt 0)
        {
        $Date = get-date -Format yyMMdd_HHmmss
        $OutFileName = "AuditLogResults$Date.csv"
        write-host
        write-host -fore green "Posting results to file: $OutfileName"
        $SearchResults | export-csv $OutFileName -notypeinformation -encoding UTF8
        }
        }
        PROCESS
        {
        write-host -fore green 'Searching Mailbox Audit Logs...'
        $SearchResults = @(search-mailboxAuditLog $Mailbox -StartDate $StartDate -EndDate $EndDate -LogonTypes Owner, Admin, Delegate -ShowDetails -resultsize 50000)
        write-host -fore green '$($SearchREsults.Count) Total entries Found'
        if (-not $IncludeFolderBind)
        {
        write-host -fore green 'Removing FolderBind operations.'
        $SearchResults = @($SearchResults | ? {$_.Operation -notlike 'FolderBind'})
        write-host -fore green 'Filtered to $($SearchREsults.Count) Entries'
        }
        $SearchResults = @($SearchResults | select ($LogParameters + @{Name='Subject';e={if (($_.SourceItems.Count -eq 0) -or ($_.SourceItems.Count -eq $null)){$_.ItemSubject} else {($_.SourceItems[0].SourceItemSubject).TrimStart(' ')}}},
        @{Name='CrossMailboxOp';e={if (@('SendAs','Create','Update') -contains $_.Operation) {'N/A'} else {$_.CrossMailboxOperation}}}))
        $LogParameters = @('Subject') + $LogParameters + @('CrossMailboxOp')
        If ($Subject -ne '' -and $Subject -ne $null)
        {
        write-host -fore green 'Searching for Subject: $Subject'
        $SearchResults = @($SearchResults | ? {$_.Subject -match $Subject -or $_.Subject -eq $Subject})
        write-host -fore green 'Filtered to $($SearchREsults.Count) Entries'
        }
        $SearchResults = @($SearchResults | select $LogParameters)
        }
    
  2. Dans le menu Fichier, sélectionnez Enregistrer sous.

  3. Dans la zone Enregistrer en tant que type , sélectionnez Tout fichier.

  4. Dans la zone Nom de fichier, entrez Run-MailboxAuditLogSearcher.ps1, puis sélectionnez Enregistrer.

  5. Ouvrez Windows PowerShell, puis connectez-vous à Windows Remote PowerShell.

  6. Recherchez le dossier dans lequel vous avez enregistré le script, puis exécutez le script :

    .\Run-MailboxAuditLogSearcher.ps1
    

    Note

    • Si vous exécutez le script sans paramètres, vous êtes invité à entrer les paramètres par défaut suivants :
      • Boîte aux lettres
      • StartDate
      • Date de fin
    • Pour rechercher les entrées du jour actuel, ajoutez un jour à la valeur de date de fin dans la fenêtre d’invite. Par exemple, si la date actuelle est 3/14/2017 et que vous souhaitez inclure le jour actuel dans votre recherche, entrez 3/15/2017 comme date de fin.

Dans Microsoft 365, les entrées de journalisation d’audit de boîte aux lettres sont conservées dans la boîte aux lettres pendant 90 jours. Vous êtes invité à indiquer une date de début et une date de fin pour la recherche. Vous pouvez utiliser plusieurs paramètres facultatifs pour personnaliser la recherche. Pour obtenir une description de ces paramètres, consultez la section « Plus d’informations ».

Si des éléments sont trouvés après l’exécution du script, vous recevez un message semblable au message suivant :

Recherche dans les journaux d’audit de boîte aux lettres...
11 Nombre total d’entrées trouvées
Suppression des opérations FolderBind.
Filtré sur 1 entrées

Publication des résultats dans un fichier : AuditLogResults121024_142419.csv

Capture d’écran du message après l’exécution du script.

Cet exemple de message indique que le processus de recherche a trouvé 11 entrées. Par défaut, les entrées FolderBind sont filtrées et les types d’opérations suivants restent :

  • Copier
  • Créer
  • HardDelete
  • MessageBind
  • Déplacer
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Update

Note

L’opération FolderBind indique les heures auxquelles la boîte aux lettres est accessible par un non-propriétaire. Il s’agit de l’opération la plus courante. Vous n’avez pas besoin d’afficher les opérations FolderBind lorsque vous examinez un élément mis à jour ou supprimé.

Passez en revue la sortie du fichier .csv. Les colonnes les plus utiles sont exportées et certaines de ces colonnes sont fusionnées pour faciliter la révision de la sortie. Pour plus d’informations sur les colonnes exportées, consultez la section « Plus d’informations ».

Journalisation d’audit de la boîte aux lettres propriétaire

La journalisation de l’audit de boîte aux lettres est activée par défaut pour toutes les organisations. L’un des principaux avantages de l’activation de l’audit de boîte aux lettres par défaut est que vous n’avez pas à gérer les actions de boîte aux lettres auditées. Microsoft gère ces actions pour vous et nous ajoutons automatiquement de nouvelles actions de boîte aux lettres à auditer par défaut lors de leur publication.

Toutefois, votre organisation peut devoir auditer un ensemble différent d’actions de boîte aux lettres pour les boîtes aux lettres utilisateur et les boîtes aux lettres partagées. Pour plus d’informations sur la modification des actions de boîte aux lettres auditées pour chaque type de connexion et sur la façon de revenir aux actions par défaut gérées par Microsoft, consultez Modifier ou restaurer les actions de boîte aux lettres enregistrées par défaut.

Plus d’informations

Paramètres de script facultatifs

La liste suivante décrit les paramètres facultatifs qui génèrent des résultats différents lorsqu’ils sont utilisés avec le Run-MailboxAuditLogSearcher script :

  • IncludeFolderBind : empêche l’opération FolderBind d’être filtrée à partir de la sortie. Vous pouvez utiliser les informations FolderBind pour examiner le problème d’accès aux boîtes aux lettres.

    Par exemple, l’applet de commande suivante recherche la boîte aux lettres « Test User 1 » et inclut toutes les opérations :

    .\Run-MailboxAuditLogSearcher.ps1 -IncludeFolderBind -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • Objet : vous permet de spécifier l’objet d’un élément afin de limiter la recherche d’opérations effectuées sur cet élément.

    Par exemple, l’applet de commande suivante filtre toutes les sorties, à l’exception des éléments dont l’objet est défini sur « Bonnes nouvelles » :

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject : provoque l’affichage des résultats à l’écran (mais pas exportés vers un fichier .csv).

    Par exemple, l’applet de commande suivante affiche la sortie à l’écran :

    .\Run-MailboxAuditLogSearcher.ps1 -ReturnObject -Mailbox "<Test User 1gt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    

Colonnes exportées à partir du fichier .csv

Les colonnes les plus utiles du fichier .csv sont exportées. Certaines de ces colonnes sont fusionnées pour faciliter la révision de la sortie. Le tableau suivant répertorie les colonnes exportées.

Colonne Description
Objet Objet de l’élément
Operation Actions effectuées sur l’élément
LogonUserDisplayName Nom d’affichage de l’utilisateur connecté
LastAccessed Heure à laquelle l’opération a été effectuée
DestFolderPathName Dossier de destination de l’opération de déplacement
FolderPathName Chemin d’accès du dossier
ClientInfoString Détails sur le client qui effectue l’opération
LastAccessed Adresse IP de l’ordinateur client
ClientMachineName Nom de l’ordinateur client
ClientProcessName Nom du processus d’application cliente
ClientVersion Version de l’application cliente
LogonType Le type d’ouverture de session de l’utilisateur qui effectue les types d’ouverture de session de note d’opération

inclut les éléments suivants :
- Délégué pour les non-propriétaires
- Administrateur
- Propriétaire de boîte aux lettres (non enregistré par défaut)
MailboxResolvedOwnerName Le nom résolu de l’utilisateur

de boîte aux lettres Note
résolue est au format suivant :
Domain\SamAccountName
OperationResult L’état de l’opération note les résultats de l’opération

inclut les éléments suivants :
- Échec
- PartiellementSucceeded - Réussite
CrossMailboxOperation Informations sur la question de savoir si l’opération enregistrée est une opération inter-boîtes aux lettres (par exemple, copie ou déplacement de messages entre boîtes aux lettres)

Plus d’informations sur la journalisation d’audit des boîtes aux lettres

  • L’applet de commande Search-MailboxAuditLog est utilisée dans l’exemple de script à l’étape 1 pour rechercher une boîte aux lettres unique de manière synchrone. Pour ce faire, exécutez également l’applet de commande dans Windows Remote PowerShell.

    Pour plus d’informations sur l’applet de commande, consultez l’article TechNet suivant :

    Search-MailboxAuditLog

  • Vous pouvez effectuer une recherche asynchrone dans une ou plusieurs boîtes aux lettres. Pour ce faire, exécutez l’applet de commande suivante dans Windows Remote PowerShell :

    New-MailboxAuditLogSearch
    

    Pour plus d’informations sur cette applet de commande, consultez l’article suivant :

    New-MailboxAuditLogSearch

    Pour plus d’informations sur les entrées de journalisation d’audit de boîte aux lettres par défaut, accédez à la section « Entrées du journal d’audit de boîte aux lettres » de l’article suivant :

    Journalisation de l’audit des boîtes aux lettres dans Exchange 2016