Partager via


Search-UnifiedAuditLog

Cette cmdlet est disponible uniquement dans le service cloud.

Utilisez la cmdlet Search-UnifiedAuditLog pour rechercher le journal d’audit unifié. Ce journal contient des événements provenant de Exchange Online, SharePoint, OneDrive, Microsoft Entra ID, Microsoft Teams, Power BI et d’autres services Microsoft 365. Vous pouvez rechercher tous les événements dans une plage de dates spécifiée, ou filtrer les résultats en fonction de critères spécifiques, tels que l’utilisateur qui a effectué l’action, l’action ou l’objet cible.

Remarque : Par défaut, cette applet de commande retourne un sous-ensemble de résultats contenant jusqu’à 100 enregistrements. Utilisez le paramètre SessionCommand avec la valeur ReturnLargeSet pour effectuer une recherche exhaustive jusqu’à 50 000 résultats. Le paramètre SessionCommand entraîne le retour des données non triées par l’applet de commande.

Pour plus d’informations sur les jeux de paramètres dans la section Syntaxe ci-après, voir Syntaxe da la cmdlet Exchange.

Syntaxe

Default (Par défaut)

Search-UnifiedAuditLog
    -EndDate <ExDateTime>
    -StartDate <ExDateTime>
    [-Formatted]
    [-FreeText <String>]
    [-HighCompleteness]
    [-IPAddresses <String[]>]
    [-LongerRetentionEnabled <String>]
    [-ObjectIds <String[]>]
    [-Operations <String[]>]
    [-RecordType <AuditRecordType>]
    [-ResultSize <Int32>]
    [-SessionCommand <UnifiedAuditSessionCommand>]
    [-SessionId <String>]
    [-SiteIds <String[]>]
    [-UserIds <String[]>]
    [<CommonParameters>]

Description

La cmdlet Search-UnifiedAuditLog présente des pages de données basées sur des itérations répétées de la même commande. Utilisez SessionId et SessionCommand pour exécuter à plusieurs reprises la cmdlet jusqu’à obtenir un résultat nul ou atteindre le nombre maximal de résultats en fonction de la commande de session. Pour évaluer la progression, examinez les propriétés ResultIndex (accès dans l’itération actuelle) et ResultCount (accès pour toutes les itérations) des données retournées par l’applet de commande.

L’applet de commande Search-UnifiedAuditLog est disponible dans Exchange Online PowerShell. Vous pouvez également afficher les événements à partir du journal d’audit unifié à l’aide de la portail de conformité Microsoft Purview. Pour plus d’informations, consultez Activités auditées.

Si vous souhaitez télécharger par programmation des données à partir du journal d’audit Microsoft 365, nous vous recommandons d’utiliser l’API Activité de gestion Microsoft 365 au lieu d’utiliser l’applet de commande Search-UnifiedAuditLog dans un script PowerShell. L’API Activité de gestion Microsoft 365 est un service web REST que vous pouvez utiliser pour développer des solutions de surveillance des opérations, de la sécurité et de la conformité pour vos organization. Pour plus d’informations, consultez Informations de référence sur l’API Activité de gestion.

Cette applet de commande est disponible dans Office 365 gérée par 21Vianet, mais elle ne retourne aucun résultat.

Le paramètre OutVariable accepte les objets de type ArrayList. Voici un exemple d’utilisation :

$start = (Get-Date).AddDays(-1); $end = (Get-Date).AddDays(-0.5); $auditData = New-Object System.Collections.ArrayList; Search-UnifiedAuditLog -StartDate $start -EndDate $end -OutVariable +auditData | Out-Null

Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette cmdlet. Bien que cet article répertorie tous les paramètres de l’applet de commande, il se peut que vous n’ayez pas accès à certains paramètres s’ils ne sont pas inclus dans les autorisations qui vous sont attribuées. Pour rechercher les autorisations requises pour exécuter une cmdlet ou un paramètre dans votre organisation, voir Find the permissions required to run any Exchange cmdlet.

Exemples

Exemple 1

Search-UnifiedAuditLog -StartDate 5/1/2023 -EndDate 5/2/2023 -SessionCommand ReturnLargeSet

Cet exemple recherche dans le journal d’audit unifié tous les événements du 1er mai 2023 de 12h00 au 2 mai 2023 à 12h00.

Remarque : si vous n’incluez pas d’horodatage dans la valeur pour les paramètres StartDate ou EndDate, l’horodatage par défaut 00:00 (minuit) est utilisé.

Exemple 2

Search-UnifiedAuditLog -StartDate "6/1/2023 8:00 AM" -EndDate "6/1/2023 6:00 PM" -RecordType ExchangeAdmin -SessionCommand ReturnLargeSet

Cet exemple recherche dans le journal d’audit unifié tous les événements d’administration Exchange de 8h00 à 18h00 le 1er juin 2023.

Note Si vous utilisez la même date pour les paramètres StartDate et EndDate, vous devez inclure un horodatage ; sinon, aucun résultat n’est retourné, car la date et l’heure des dates de début et de fin sont identiques.

Exemple 3

Search-UnifiedAuditLog -StartDate 5/1/2023 -EndDate 5/8/2023 -SessionId "UnifiedAuditLogSearch 05/08/17" -SessionCommand ReturnLargeSet

Cet exemple recherche dans le journal d’audit unifié tous les événements du 1er mai 2023 au 8 mai 2023. Si vous n’incluez pas d’horodatage dans les paramètres EndDate et SessionId, les données sont renvoyées dans les pages lorsque la commande est réexécutée de manière séquentielle en utilisant la même valeur StartDate.

Remarque : utilisez toujours la même valeur SessionCommand pour une valeur SessionId donnée. Ne basculez pas entre ReturnLargeSet et ReturnNextPreviewPage pour le même ID de session. Sinon, la sortie est limitée à 10 000 résultats.

Exemple 4

Search-UnifiedAuditLog -StartDate 5/1/2023 -EndDate 5/8/2023 -RecordType SharePointFileOperation -Operations FileAccessed -SessionId "WordDocs_SharepointViews" -SessionCommand ReturnLargeSet

Cet exemple recherche dans le journal d’audit unifié tous les fichiers accessibles dans SharePoint du 1er mai 2023 au 8 mai 2023. Les données sont renvoyées dans les pages alors que la commande est réexécutée de manière séquentielle en utilisant la même valeur SessionId.

Exemple 5

Search-UnifiedAuditLog -StartDate 5/1/2023 -EndDate 5/8/2023 -ObjectIDs "https://alpinehouse.sharepoint.com/sites/contoso/Departments/SM/International/Shared Documents/Sales Invoice - International.docx" -SessionCommand ReturnLargeSet

Cet exemple recherche dans le journal d’audit unifié du 1er mai 2023 au 8 mai 2023 tous les événements liés à un document Word spécifique identifié par sa valeur ObjectIDs.

Paramètres

-EndDate

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre EndDate indique la fin de la plage de dates définies. Les entrées sont stockées dans le journal d’audit unifié en temps universel coordonné (UTC). Si vous spécifiez une valeur de date/heure sans fuseau horaire, la valeur est au format UTC.

Pour spécifier une valeur date/heure pour ce paramètre, utilisez l’une des options suivantes :

  • Spécifiez la valeur de date/heure au format UTC : Par exemple, "2018-05-06 14:30:00z".
  • Spécifiez la valeur de date/heure en tant que formule qui convertit la date/heure de votre fuseau horaire local au format UTC : par exemple, (Get-Date "5/6/2018 9:30 AM").ToUniversalTime(). Pour plus d’informations, consultez Get-Date.

si vous n’incluez pas d’horodatage dans la valeur pour ce paramètre, l’horodatage par défaut est 00:00 (minuit) pour la date spécifiée.

Propriétés du paramètre

Type:ExDateTime
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Formatted

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

En raison du commutateur Formatted, les attributs normalement renvoyés sous forme d’entiers (par exemple, RecordType et Operation) sont sous forme de chaînes descriptives. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

En outre, ce commutateur rend AuditData plus lisible.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FreeText

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre FreeText filtre les entrées de journal en fonction de la chaîne de texte spécifiée. Si la valeur contient des espaces, placez-la entre guillemets (").

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-HighCompleteness

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Remarque : Ce paramètre est actuellement en préversion, n’est pas disponible dans toutes les organisations et est susceptible d’être modifié.

Le commutateur HighCompleteness spécifie l’exhaustivité à la place des performances dans les résultats. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Lorsque vous utilisez ce commutateur, la requête retourne des résultats de recherche plus complets, mais son exécution peut prendre beaucoup plus de temps. Si vous n’utilisez pas ce commutateur, la requête s’exécute plus rapidement, mais peut avoir des résultats de recherche manquants.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-IPAddresses

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre IPAddresses filtre les entrées du journal en fonction des adresses IP spécifiées. Vous spécifiez plusieurs adresses IP séparées par des virgules.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LongerRetentionEnabled

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

{{ Fill LongerRetentionEnabled Description }}

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ObjectIds

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre ObjectIds filtre les entrées du journal par ID d’objet. L’ID d’objet correspond à l’objet cible qui a été traité et dépend des valeurs RecordType et Operations de l’événement.

Par exemple, pour les opérations SharePoint, l’ID d’objet est le chemin d’URL d’un fichier, d’un dossier ou d’un site. Pour rechercher des journaux dans un site, ajoutez un caractère générique (*) devant l’URL du site (par exemple, "https://contoso.sharepoint.com/sites/test/*").

Pour les opérations Microsoft Entra, l’ID d’objet est le nom du compte ou la valeur GUID du compte.

La valeur ObjectId est affichée dans la propriété AuditData (également appelée Détails) de l’événement.

Vous pouvez entrer plusieurs valeurs séparées par des virgules. Si les valeurs contiennent des espaces ou requièrent des guillemets, utilisez la syntaxe suivante : "Value1","Value2",..."ValueN".

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Operations

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre Operations filtre les entrées du journal par opération. Les valeurs disponibles pour ce paramètre dépendent de la valeur de RecordType. Pour obtenir la liste des valeurs disponibles pour ce paramètre, consultez Activités auditées.

Vous pouvez entrer plusieurs valeurs séparées par des virgules. Si les valeurs contiennent des espaces ou requièrent des guillemets, utilisez la syntaxe suivante : "Value1","Value2",..."ValueN".

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RecordType

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre RecordType filtre les entrées du journal par type d’enregistrement. Pour plus d’informations sur les valeurs disponibles, consultez AuditLogRecordType.

Propriétés du paramètre

Type:AuditRecordType
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ResultSize

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre ResultSize spécifie le nombre maximal de résultats à renvoyer. La valeur par défaut est 100 et la valeur maximale est de 5 000.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SessionCommand

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre SessionCommand spécifie la quantité d’informations à renvoyer et la manière dont elles sont organisées. Ce paramètre est requis si vous souhaitez récupérer plus que la limite par défaut de 100 résultats. Les valeurs valides sont les suivantes :

  • ReturnLargeSet : cette valeur entraîne le retour de données non triées par l’applet de commande. En utilisant la pagination, vous pouvez accéder à un maximum de 50 000 résultats. Il s’agit de la valeur recommandée si un résultat ordonné n’est pas requis et est optimisé pour la latence de recherche.
  • ReturnNextPreviewPage : cette valeur entraîne le renvoi des données triées par l’applet de commande à la date. Le nombre maximal d’enregistrements renvoyés par le biais de la pagination ou du paramètre ResultSize est de 5 000.

Remarque : utilisez toujours la même valeur SessionCommand pour une valeur SessionId donnée. Ne basculez pas entre ReturnLargeSet et ReturnNextPreviewPage pour le même ID de session. Sinon, la sortie est limitée à 10 000 résultats.

Propriétés du paramètre

Type:UnifiedAuditSessionCommand
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SessionId

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre SessionId spécifie une chaîne d’ID pour identifier une commande (l’applet de commande et ses paramètres) exécutée plusieurs fois pour retourner des données paginées. Le paramètre SessionId peut correspondre à toute valeur de chaîne de votre choix.

Lorsque l’applet de commande est exécutée séquentiellement avec le même ID de session, l’applet de commande retourne les données dans des blocs séquentiels de la taille spécifiée par ResultSize.

Pour un ID de session donné, si vous utilisez la valeur SessionCommandReturnLargeSet, puis la valeur SessionCommandReturnNextPreviewPage, les résultats sont limités à 10 000 enregistrements. Pour disposer des 50 000 enregistrements, utilisez toujours la valeur ReturnLargeSet à chaque exécution de la cmdlet pour le même ID de session.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SiteIds

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre SiteIds filtre les entrées de journal en fonction du GUID (SiteId) SharePoint. Vous pouvez entrer plusieurs valeurs séparées par des virgules : Value1, Value2,...ValueN.

Pour obtenir le SiteId d’un site SharePoint, ajoutez /_api/site/id à l’URL de la collection de sites que vous souhaitez spécifier. Par exemple, remplacez l’URL https://contoso.sharepoint.com/sites/hr-project par https://contoso.sharepoint.com/sites/hr-project/_api/site/id. Une charge utile XML est retournée et le SiteId de la collection de sites est affiché dans la propriété Edm.Guid ; par exemple : <d:Id xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" m:type="Edm.Guid">14ab81b6-f23d-476a-8cac-ad5dbd2910f7</d:Id>.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-StartDate

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre StartDate indique le début de la plage de dates définies. Les entrées sont stockées dans le journal d’audit unifié en temps universel coordonné (UTC). Si vous spécifiez une valeur de date/heure sans fuseau horaire, la valeur est au format UTC.

Pour spécifier une valeur date/heure pour ce paramètre, utilisez l’une des options suivantes :

  • Spécifiez la valeur de date/heure au format UTC : Par exemple, "2018-05-06 14:30:00z".
  • Spécifiez la valeur de date/heure en tant que formule qui convertit la date/heure de votre fuseau horaire local au format UTC : par exemple, (Get-Date "5/6/2018 9:30 AM").ToUniversalTime(). Pour plus d’informations, consultez Get-Date.

si vous n’incluez pas d’horodatage dans la valeur pour ce paramètre, l’horodatage par défaut est 00:00 (minuit) pour la date spécifiée.

Propriétés du paramètre

Type:ExDateTime
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-UserIds

Applicable : Exchange Online, module complémentaire de sécurité intégré pour les boîtes aux lettres locales

Le paramètre UserIds filtre les entrées de journal en fonction du compte (UserPrincipalName) de l’utilisateur qui a effectué l’action. Par exemple : laura@contoso.onmicrosoft.com.

Vous pouvez entrer plusieurs valeurs séparées par des virgules. Si les valeurs contiennent des espaces ou requièrent des guillemets, utilisez la syntaxe suivante : "Value1","Value2",..."ValueN".

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.