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 Online, OneDrive Entreprise, Azure Active Directory, Microsoft Teams, Power BI et d’autres services Microsoft 365. Vous pouvez rechercher tous les événements d’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.

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

Syntax

Search-UnifiedAuditLog
      -EndDate <ExDateTime>
      -StartDate <ExDateTime>
      [-Formatted]
      [-FreeText <String>]
      [-IPAddresses <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 des données par programmation à partir du journal d’audit Microsoft 365, nous vous recommandons d’utiliser l’API d’activité de gestion Microsoft 365 au lieu d’utiliser l’applet de commande Search-UnifiedAuditLog dans un script PowerShell. L’API d’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 votre organisation. Pour plus d’informations, consultez Informations de référence sur l’API Activité de gestion.

Cette cmdlet est disponible dans Office 365 géré 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 cette rubrique répertorie tous les paramètres de cette cmdlet, il est possible que vous n’ayez pas accès à certains paramètres s’ils ne sont pas inclus dans les autorisations qui vous ont été 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/2018 -EndDate 5/2/2018

Cet exemple recherche dans le journal d’audit unifié tous les événements du 1er mai 201812:00 au 2 mai 2018 à 12:00.

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/2018 8:00 AM" -EndDate "6/1/2018 6:00 PM" -RecordType ExchangeAdmin

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

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

Exemple 3

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

Cet exemple recherche dans le journal d’audit unifié tous les événements du 1er mai 2018 au 8 mai 2018. 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/2018 -EndDate 5/8/2018 -RecordType SharePointFileOperation -Operations FileAccessed -SessionId "WordDocs_SharepointViews"-SessionCommand ReturnLargeSet

Cet exemple recherche dans le journal d’audit unifié tous les fichiers accessibles dans SharePoint Online du 1er mai 2018 au 8 mai 2018. 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/2018 -EndDate 5/8/2018 -ObjectIDs "https://alpinehouse.sharepoint.com/sites/contoso/Departments/SM/International/Shared Documents/Sales Invoice - International.docx"

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

Paramètres

-EndDate

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.

Type:ExDateTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-Formatted

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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-FreeText

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 (").

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-IPAddresses

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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-ObjectIds

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 les opérations Azure Active Directory, 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".

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-Operations

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".

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-RecordType

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

Type:AuditRecordType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-ResultSize

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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-SessionCommand

Le paramètre SessionCommand spécifie la quantité d’informations à renvoyer et la manière dont elles sont organisées. 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 a été optimisé pour la latence de recherche.
  • ReturnNextPreviewPage : cette valeur entraîne le retour 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.

Type:UnifiedAuditSessionCommand
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-SessionId

Le paramètre SessionId spécifie un ID que vous fournissez sous la forme d’une chaîne pour identifier une commande (la cmdlet et ses paramètres) qui sera exécutée plusieurs fois pour renvoyer 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 de manière séquentielle 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-SiteIds

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>.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-StartDate

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.

Type:ExDateTime
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-UserIds

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".

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection