Search-UnifiedAuditLog

Cette cmdlet est disponible uniquement dans le service en nuage.

Utilisez la cmdlet Search-UnifiedAuditLog pour rechercher le journal d’audit unifié. Ce journal contient des événements provenant d’Exchange Online, SharePoint Online, OneDrive entreprise, Azure Active Directory, Microsoft Teams, Power BI, Sway et d’autres services Office 365. Vous pouvez rechercher tous les événements dans une plage de dates spécifique ou vous pouvez 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.

> [!NOTE] > Nous vous recommandons d’utiliser le module Exchange Online PowerShell v2 pour vous connecter à Exchange Online PowerShell. Pour obtenir des instructions, consultez la rubrique utiliser le module Exchange Online PowerShell v2 (https://docs.microsoft.com/powershell/exchange/exchange-online/exchange-online-powershell-v2/exchange-online-powershell-v2).

Pour plus d'informations sur les jeux de paramètres dans la section Syntaxe ci-après, voir Syntaxe Syntaxe de cmdlet Exchange (https://docs.microsoft.com/powershell/exchange/exchange-server/exchange-cmdlet-syntax).

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 l’avancement, examinez les propriétés ResultIndex (hits in the Current itération) et ResultCount (hits for All iterations) des données renvoyées par l’applet de commande.

La cmdlet Search-UnifiedAuditLog est disponible dans Exchange Online PowerShell. Vous pouvez également afficher les événements du journal d’audit unifié à l’aide du centre de sécurité & de sécurité Office 365. Pour plus d’informations, consultez la rubrique activités auditées.

Si vous souhaitez télécharger par programme des données à partir du journal d’audit Office 365, nous vous recommandons d’utiliser l’API activité de gestion d’Office 365 au lieu d’utiliser la cmdlet Search-UnifiedAuditLog dans un script PowerShell. L’API Activité de gestion Office 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 Référence de l’API d’activité de gestion d’Office 365.

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.

Examples

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 compris entre le 1er mai 201812:00:00 au 2 mai 2018 12:00: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 compris entre 8:00 et 6:00 PM le 1er juin 2018.

Note

Si vous utilisez la même date pour les paramètres StartDate et EndDate, vous devez inclure un horodatage ; dans le cas contraire, aucun résultat n’est renvoyé car la date et l’heure des dates de début et de fin seront les mêmes.

Exemple 3

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

Cet exemple recherche dans le journal d’audit unifié tous les événements compris entre le 1er mai 2018 et le 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.

Note

Si vous utilisez la valeur SessionCommand Sessioncommandreturnlargeset, puis que vous utilisez la valeur ReturnNextPreviewPage pour le même ID de session, les résultats sont limités à 10 000 enregistrements (et non 50 000).

Exemple 4

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

Cet exemple recherche dans le journal d’audit unifié les fichiers auxquels vous accédez 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é le 1er mai 2018 au 8 mai 2018 pour tous les événements liés à un document Word spécifique identifié par sa valeur objectid.

Parameters

-AdressesIP

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
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-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é au format UTC (Coordinated Universal Time). Si vous spécifiez une valeur de date/heure sans fuseau horaire, la valeur est au format UTC.

Si vous utilisez cette syntaxe, vous n’avez pas besoin de spécifier toutes les valeurs de plan DTMF et vous pouvez spécifier plusieurs valeurs de plan DTMF. Par exemple, vous pouvez utiliser @{Add="emailAddress:","emailAddress:} pour ajouter deux nouvelles valeurs pour emailAddress sans affecter les valeurs lastNameFirstName et firstNameLastName existantes.

  • Spécifiez la valeur de date/heure au format UTC : "2018-05-06 14:30:00z"par exemple,.

  • Spécifiez la valeur date/heure sous la forme d’une formule qui convertit la date/l’heure de votre fuseau horaire local (Get-Date "5/6/2018 9:30 AM").ToUniversalTime()en heure UTC : par exemple,. Pour plus d’informations, consultez la rubrique 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
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-FreeText

Le paramètre FreeText filtre les entrées du journal par 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
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Mis en forme

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. Groupes de rôles : vous devez être membre du groupe de rôles Gestion de l’organisation ou le rôle Gestion des rôles doit vous avoir été affecté.

En outre, ce commutateur rend AuditData plus lisible.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ObjectID

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 l’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 de 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.

Pour entrer plusieurs valeurs, utilisez la syntaxe suivante : <valeur1>,<valeur2>,... <valueX>. Si les valeurs contiennent des espaces ou si vous avez besoin de guillemets, utilisez la<syntaxe>suivante : "<valeur1>", "<valeur2>",... "valueX".

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Opérations

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 la rubrique activités auditées.

Pour entrer plusieurs valeurs, utilisez la syntaxe suivante : <valeur1>,<valeur2>,... <valueX>. Si les valeurs contiennent des espaces ou si vous avez besoin de guillemets, utilisez la<syntaxe>suivante : "<valeur1>", "<valeur2>",... "valueX".

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-RecordType
            Le paramètre RecordType filtre les entrées du journal par type d’enregistrement. Les valeurs valides sont les suivantes :
  • AeD

  • AirInvestigation

  • ApplicationAudit

  • AzureActiveDirectory

  • AzureActiveDirectoryAccountLogon

  • AzureActiveDirectoryStsLogon

  • Marketing

  • ComplianceDLPExchange

  • ComplianceDLPSharePoint

  • ComplianceDLPSharePointClassification

  • ComplianceSupervisionExchange

  • CustomerKeyServiceEncryption

  • CRM

  • DataCenterSecurityCmdlet

  • DataGovernance

  • DataInsightsRestApiAudit

  • Discovery

  • DLPEndpoint

  • ExchangeAdmin

  • ExchangeAggregatedOperation

  • ExchangeItem

  • ExchangeItemAggregated

  • ExchangeItemGroup

  • HRSignal

  • HygieneEvent

  • InformationWorkerProtection

  • InformationBarrierPolicyApplication

  • Kaizala

  • LabelExplorer

  • MailSubmission

  • MicrosoftFlow

  • MicrosoftForms

  • MicrosoftTeamsAnalytics

  • MicrosoftTeams

  • MicrosoftTeamsAdmin

  • MicrosoftTeamsDevice

  • MicrosoftTeamsAddOns

  • MicrosoftStream

  • MicrosoftTeamsSettingsOperation

  • MipAutoLabelSharePointItem

  • MipAutoLabelSharePointPolicyLocation

  • MIPLabel

  • OfficeNative

  • OneDrive

  • PowerBIAudit

  • Project

  • PowerAppsApp

  • PowerAppsPlan

  • Quarantaine

  • SecurityComplianceAlerts

  • SecurityComplianceCenterEOPCmdlet

  • SecurityComplianceInsights

  • SharePoint

  • SharePointCommentOperation

  • SharePointContentTypeOperation

  • SharePointFileOperation

  • SharePointFieldOperation

  • SharePointListOperation

  • SharePointListItemOperation

  • SharePointSharingOperation

  • SkypeForBusinessCmdlets

  • SkypeForBusinessPSTNUsage

  • SkypeForBusinessUsersBlocked

  • Sway

  • SyntheticProbe

  • ThreatFinder

  • ThreatIntelligence

  • ThreatIntelligenceAtpContent

  • ThreatIntelligenceUrl

  • TeamsHealthcare

  • WorkplaceAnalytics

  • Yammer

Type:AuditRecordType
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Result

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
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-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 :

  • ReturnNextPreviewPage : cette valeur fait en sorte que l’applet de commande renvoie des données triées à la date. Le nombre maximal d’enregistrements renvoyés par le biais de la pagination ou du paramètre ResultSize est de 5 000.

  • Sessioncommandreturnlargeset : cette valeur fait en sorte que l’applet de commande renvoie des données non triées. En utilisant la pagination, vous pouvez accéder à un maximum de 50 000 résultats.

Remarque: utilisez toujours la même valeur SessionCommand pour une valeur SessionID donnée. Ne basculez pas entre Sessioncommandreturnlargeset et ReturnNextPreviewPage pour le même ID de session.

Type:UnifiedAuditSessionCommand
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-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 renvoie les données dans des blocs séquentiels de la taille spécifiée par la propriété Result.

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
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-SiteIds

Le paramètre SiteIds filtre les entrées de journal par ID de site. SPO: exSharePointOnline2ndMen

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-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é au format UTC (Coordinated Universal Time). Si vous spécifiez une valeur de date/heure sans fuseau horaire, la valeur est au format UTC.

Si vous utilisez cette syntaxe, vous n’avez pas besoin de spécifier toutes les valeurs de plan DTMF et vous pouvez spécifier plusieurs valeurs de plan DTMF. Par exemple, vous pouvez utiliser @{Add="emailAddress:","emailAddress:} pour ajouter deux nouvelles valeurs pour emailAddress sans affecter les valeurs lastNameFirstName et firstNameLastName existantes.

  • Spécifiez la valeur de date/heure au format UTC : "2018-05-06 14:30:00z"par exemple,.

  • Spécifiez la valeur date/heure sous la forme d’une formule qui convertit la date/l’heure de votre fuseau horaire local (Get-Date "5/6/2018 9:30 AM").ToUniversalTime()en heure UTC : par exemple,. Pour plus d’informations, consultez la rubrique 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
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-UserIds

Le paramètre UserIds filtre les entrées du journal selon l’ID de l’utilisateur ayant effectué l’action.

Pour entrer plusieurs valeurs, utilisez la syntaxe suivante : <valeur1>,<valeur2>,... <valueX>. Si les valeurs contiennent des espaces ou si vous avez besoin de guillemets, utilisez la<syntaxe>suivante : "<valeur1>", "<valeur2>",... "valueX".

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

Inputs

Outputs

Le paramètre disvariable 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-devariable + auditData | Out-Null