Partager via


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

Numéro de la base de connaissances d’origine : 4021960

Résumé

Dans Microsoft 365, vous pouvez exécuter les 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. Vous devrez peut-être le faire, par exemple, si des éléments sont déplacés ou s’ils sont supprimés de manière inattendue ou incorrecte.

Pour l’environnement vNext, notez que les journaux d’audit de boîte aux lettres ne sont pas activés par défaut et doivent être activés pour un utilisateur avant de commencer une recherche.

Comment exécuter et case activée journaux d’audit de boîte aux lettres

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

Remarque

  • Par défaut, seule la journalisation d’audit de boîte aux lettres non propriétaire est activée et la journalisation de l’audit de boîte aux lettres propriétaire est désactivée. Si vous devez effectuer une journalisation d’audit de boîte aux lettres propriétaire pour examiner un problème spécifique, vous pouvez activer temporairement le processus pendant une période de deux semaines.
  • Certaines organisations peuvent ne pas vous autoriser à utiliser la journalisation d’audit de boîte aux lettres et, par conséquent, ont désactivé la fonctionnalité.

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 le contenu dans un fichier simplifié de valeurs 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.

Importante

Les clients sont encouragés à utiliser le script 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 lors de l’exécution d’un script, 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 comme commodité aux clients Microsoft 365 sans garantie, expresse ou implicite.

Étape 1 : Exécuter le script

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

  1. Démarrez 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, cliquez sur Enregistrer sous.

  3. Dans la zone Type de fichier , cliquez sur Tout le fichier.

  4. Dans la zone Nom de fichier , tapez Run-MailboxAuditLogSearcher.ps1, puis cliquez sur Enregistrer.

  5. Démarrez Windows PowerShell, puis connectez-vous à Windows Remote PowerShell.

  6. Recherchez le répertoire dans lequel vous avez enregistré le script, puis exécutez le script.

    .\Run-MailboxAuditLogSearcher.ps1
    

    Remarque

    • 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
      • EndDate
    • Pour rechercher des 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 le 14/03/2017 et que vous souhaitez inclure le jour actuel dans votre recherche, entrez le 15/03/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 qui ressemble au suivant :

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 :

  • Copy
  • Create
  • HardDelete
  • MessageBind
  • Move
  • MoveToDeletedItems
  • SendAs
  • SendOnBehalf
  • SoftDelete
  • Update

Remarque

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 qui est 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 boîte aux lettres propriétaire

Par défaut. la journalisation d’audit du propriétaire n’est pas activée. Il ne doit être utilisé que si vous devez examiner une action du propriétaire de la boîte aux lettres. Il doit être utilisé pendant une période limitée, environ deux semaines. Cela est dû au fait que les entrées du journal d’audit sont stockées dans la boîte aux lettres, ce qui peut entraîner le dépassement de la limite de taille de la boîte aux lettres.

Pour activer la journalisation d’audit du propriétaire, procédez comme suit :

  1. Déterminez si la journalisation d’audit de boîte aux lettres est activée. Pour ce faire, exécutez l’applet de commande suivante :

    Get-Mailbox <useridentity> | ft AuditEnabled
    
  2. Si le résultat est True, ignorez cette étape. Si le résultat est False, exécutez l’applet de commande suivante dans Windows PowerShell :

    Set-Mailbox <useridentity> -AuditEnabled $true
    
  3. Activez la journalisation d’audit du propriétaire. Pour ce faire, exécutez l’applet de commande suivante :

    Set-Mailbox <useridentity> -AuditOwner "Create,HardDelete,Move,MoveToDeletedItems,SoftDelete,Update"
    
  4. Réexécutez le Run-MailboxAuditLogSearcher.ps1et examinez les données.

  5. Une fois la résolution des problèmes terminée, désactivez la journalisation d’audit du propriétaire. Pour ce faire, exécutez l’applet de commande suivante :

    Set-Mailbox <useridentity> -AuditOwner $none
    

Informations supplémentaires

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 : lorsque vous utilisez ce commutateur, l’opération FolderBind n’est pas 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 « Utilisateur de test 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 : lorsque vous utilisez ce commutateur, vous pouvez spécifier l’objet d’un élément afin de limiter la recherche des 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 comme « Bonnes nouvelles » :

    .\Run-MailboxAuditLogSearcher.ps1 -Subject "<Good News>" -Mailbox "<test1@contoso.comgt;" -StartDate "<04/10/17gt;" -EndDate "<04/27/17gt;&quot
    
  • ReturnObject : lorsque vous utilisez ce commutateur, le résultat s’affiche à l’écran, mais il n’est pas exporté 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 qui sont exportées.

Colonne Description
Sujet Objet de l’élément
Opération Actions effectuées sur l’élément
LogonUserDisplayName Nom d’affichage de l’utilisateur qui est enregistré o
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 Type d’ouverture de session de l’utilisateur qui effectue l’opération
Remarque Les types d’ouverture de session incluent les éléments suivants :
- Délégué pour les non-propriétaires
- Administrateur
- Propriétaire de boîte aux lettres (non journalisé par défaut)
MailboxResolvedOwnerName Nom résolu de l’utilisateur
de boîte aux lettresRemarque Le nom résolu est au format suivant :
Domaine\SamAccountName
OperationResult État de l’opération
Remarque Les résultats de l’opération sont les suivants :
- Échec
- PartiellementSucceeded
- Réussi
CrossMailboxOperation Informations indiquant si l’opération enregistrée est une opération entre boîtes aux lettres (par exemple, copie ou déplacement de messages entre boîtes aux lettres)

Plus d’informations sur la journalisation de l’audit de boîte aux lettres

  • L’applet de commande Search-MailboxAuditLog est utilisée dans l’exemple de script de l’étape 1 pour effectuer une recherche synchrone dans une boîte aux lettres unique. Vous pouvez également effectuer cette opération en exécutant 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 rechercher une ou plusieurs boîtes aux lettres de manière asynchrone. 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, accédez à l’article TechNet 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 TechNet suivant :

    Journalisation d’audit de boîte aux lettres dans Exchange 2016