Search-UnifiedAuditLog

Questo cmdlet è disponibile solamente nel servizio basato sul cloud.

Usare il cmdlet Search-UnifiedAuditLog per eseguire ricerche nel log di controllo unificato. Questo registro contiene eventi di Exchange Online, SharePoint, OneDrive, Microsoft Entra ID, Microsoft Teams, Power BI e altri servizi di Microsoft 365. È possibile cercare tutti gli eventi in un intervallo di date specificato oppure filtrare i risultati in base a criteri specifici, ad esempio l'utente che ha eseguito l'azione, l'azione o l'oggetto di destinazione.

Nota: per impostazione predefinita, questo cmdlet restituisce un subset di risultati contenente fino a 100 record. Utilizza il parametro SessionCommand con il valore ReturnLargeSet per cercare in modo esaustivo fino a 50.000 risultati. Il parametro SessionCommand fa sì che il cmdlet restituisca dati non ordinati.

Per informazioni sui set di parametri nella sezione Sintassi, vedere Sintassi del cmdlet di Exchange.

Sintassi

Default (Impostazione predefinita)

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

Descrizione

Il cmdlet Search-UnifiedAuditLog presenta pagine di dati basate su iterazioni ripetute dello stesso comando. Usare SessionId e SessionCommand per eseguire ripetutamente il cmdlet fino a quando non si ottengono risultati pari a zero o si raggiunge il numero massimo di risultati in base al comando di sessione. Per valutare lo stato di avanzamento, esaminare i dati seguenti restituiti dai cmdlet:

  • ResultIndex: riscontri nell'iterazione corrente.
  • ResultCount Hit per tutte le iterazioni.
  • AuditSearchRequestMetadata.moreRecordsAvailable: flag booleano che indica se la query in corso dovrebbe restituire più risultati.

Il cmdlet Search-UnifiedAuditLog è disponibile in Exchange Online PowerShell. È anche possibile visualizzare gli eventi dal log di controllo unificato usando il Portale di conformità di Microsoft Purview. Per ulteriori informazioni, vedere Attività controllate.

Se si vogliono scaricare i dati dal log di controllo di Microsoft 365 a livello di codice, è consigliabile usare l'API Microsoft 365 Management Activity invece di usare il cmdlet Search-UnifiedAuditLog in uno script di PowerShell. L'API Microsoft 365 Management Activity è un servizio Web REST che è possibile usare per sviluppare soluzioni di monitoraggio delle operazioni, della sicurezza e della conformità per l'organizzazione. Per altre informazioni, vedere Documentazione di riferimento API Management Activity.

Questo cmdlet è disponibile in Office 365 gestito da 21Vianet, ma non restituisce alcun risultato.

Il parametro OutVariable accetta oggetti di tipo ArrayList. Ecco un esempio di utilizzo:

$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

È necessario disporre delle autorizzazioni prima di poter eseguire questo cmdlet. Anche se questo articolo elenca tutti i parametri per il cmdlet, si potrebbe non avere accesso ad alcuni parametri se non sono inclusi nelle autorizzazioni assegnate. Per individuare le autorizzazioni necessarie per eseguire cmdlet o parametri nell'organizzazione, vedere Trovare le autorizzazioni necessarie per eseguire i cmdlet di Exchange.

Esempio

Esempio 1

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

In questo esempio viene eseguita una ricerca nel log di controllo unificato per tutti gli eventi dal 1° maggio 2023 alle 12:00 al 2 maggio 2023 alle 12:00.

Nota: se non si include un timestamp nel valore per i parametri StartDate o EndDate, viene usato il timestamp predefinito 12:00 AM (mezzanotte).

Esempio 2

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

In questo esempio viene eseguita una ricerca nel log di controllo unificato per tutti gli eventi di amministrazione di Exchange dalle 8:00 alle 18:00 del 1° giugno 2023.

Avvertenza Se si usa la stessa data per i parametri StartDate e EndDate, è necessario includere un timestamp; In caso contrario, non vengono restituiti risultati perché la data e l'ora delle date di inizio e di fine sono uguali.

Esempio 3

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

In questo esempio viene eseguita una ricerca nel log di controllo unificato per tutti gli eventi dal 1° maggio 2023 all'8 maggio 2023. Se non si include un indicatore data e ora nei parametri StartDate o EndDate, i dati vengono restituiti in pagine quando il comando viene eseguito nuovamente in sequenza usando lo stesso valore SessionId.

Nota: usare sempre lo stesso valore SessionCommand per un determinato valore SessionId. Non passare da ReturnLargeSet a ReturnNextPreviewPage per lo stesso ID sessione. Altrimenti, l'output è limitato a 10.000 risultati.

Esempio 4

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

In questo esempio viene eseguita una ricerca nel log di controllo unificato tutti i file a cui si accede in SharePoint dal 1° maggio 2023 all'8 maggio 2023. I dati vengono restituiti in pagine quando il comando viene eseguito nuovamente in sequenza usando lo stesso valore SessionId.

Esempio 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

In questo esempio viene eseguita una ricerca nel log di controllo unificato dal 1° maggio 2023 all'8 maggio 2023 per tutti gli eventi relativi a un documento di Word specifico identificato dal relativo valore ObjectIDS.

Parametri

-EndDate

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro EndDate consente di specificare la data di fine dell'intervallo di date. Le voci vengono archiviate nel log di controllo unificato in UTC (Coordinated Universal Time). Se si specifica un valore di data/ora senza fuso orario, il valore sarà in formato UTC.

Per specificare un valore data/ora per questo parametro, utilizzare una delle opzioni seguenti:

  • Specificare il valore di data/ora in UTC: Ad esempio, "2018-05-06 14:30:00z".
  • Specificare il valore di data/ora come formula che converte la data/ora nel fuso orario locale in UTC: Ad esempio, (Get-Date "5/6/2018 9:30 AM").ToUniversalTime(). Per altre informazioni, vedere Get-Date.

Se non si include un timestamp nel valore per questo parametro, il timestamp predefinito è 12:00 AM (mezzanotte) della data specificata.

Proprietà dei parametri

Tipo:ExDateTime
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Formatted

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro Formatted fa sì che gli attributi che in genere vengono restituiti come numeri interi (ad esempio, RecordType e Operation) vengano formattati come stringhe descrittive. Con questa opzione non è necessario specificare alcun valore.

Inoltre, questo parametro rende AuditData più leggibile.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-FreeText

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro FreeText filtra le voci di registro in base alla stringa di testo specificata. Se il valore contiene degli spazi, è necessario racchiuderlo tra virgolette (").

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-HighCompleteness

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Nota: questo parametro è attualmente in anteprima, non è disponibile in tutte le organizzazioni ed è soggetto a modifiche.

Il parametro HighCompleteness specifica la completezza anziché le prestazioni nei risultati. Con questa opzione non è necessario specificare alcun valore.

Quando si usa questa opzione, la query restituisce risultati di ricerca più completi, ma potrebbe richiedere molto più tempo per essere eseguita. Se non si usa questa opzione, la query viene eseguita più velocemente ma potrebbero mancare i risultati della ricerca.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-IPAddresses

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro IPAddresses filtra le voci di registro in base agli indirizzi IP specificati. Si specificano più indirizzi IP separati da virgole.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LegacyFlow

Applicabile: Exchange Online, Exchange Online Protection

{{ Riempi la descrizione di LegacyFlow }}

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LongerRetentionEnabled

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

{{ Fill LongerRetentionEnabled Description }}

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ObjectIds

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro ObjectIds filtra le voci di log in base all'ID oggetto. L'ID oggetto è l'oggetto di destinazione su cui è stato eseguito l'azione e dipende dai valori RecordType e Operations dell'evento.

Per le operazioni di SharePoint, ad esempio, l'ID oggetto è il percorso URL di un file, una cartella o un sito. Per eseguire ricerche nei log in un sito, aggiungi un carattere jolly (*) davanti all'URL del sito (ad esempio, "https://contoso.sharepoint.com/sites/test/*").

Per le operazioni di Microsoft Entra, l'ID oggetto è il nome dell'account o il valore GUID dell'account.

Il valore ObjectId viene visualizzato nella proprietà AuditData (nota anche come Details) dell'evento.

È possibile immettere più valori separati da virgole. Se i valori contengono spazi o richiedono le virgolette, utilizzare la sintassi seguente: "Value1","Value2",..."ValueN".

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Operations

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro Operations filtra le voci del log in base all'operazione. I valori disponibili per questo parametro dipendono dal valore RecordType. Per un elenco dei valori disponibili per questo parametro, vedere Attività controllate.

È possibile immettere più valori separati da virgole. Se i valori contengono spazi o richiedono le virgolette, utilizzare la sintassi seguente: "Value1","Value2",..."ValueN".

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-RecordType

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro RecordType filtra le voci del log in base al tipo di record. Per informazioni dettagliate sui valori disponibili, vedere AuditLogRecordType.

Proprietà dei parametri

Tipo:AuditRecordType
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ResultSize

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro ResultSize consente di specificare il numero massimo di risultati da restituire. Il valore predefinito è 100, il massimo è 5.000.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SessionCommand

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro SessionCommand consente di specificare la quantità di informazioni restituite e la relativa organizzazione. Questo parametro è obbligatorio se si desidera recuperare più risultati rispetto al limite predefinito di 100. I valori validi sono:

  • ReturnLargeSet: questo valore fa sì che il cmdlet restituisca dati non ordinati. Usando il paging, è possibile accedere a un massimo di 50.000 risultati. Questo è il valore consigliato se un risultato ordinato non è necessario ed è ottimizzato per la latenza di ricerca.
  • ReturnNextPreviewPage: questo valore fa sì che il cmdlet restituisca i dati ordinati in base alla data. Il numero massimo di record restituiti tramite il paging o il parametro ResultSize è 5.000 record.

Nota: usare sempre lo stesso valore SessionCommand per un determinato valore SessionId. Non passare da ReturnLargeSet a ReturnNextPreviewPage per lo stesso ID sessione. Altrimenti, l'output è limitato a 10.000 risultati.

Proprietà dei parametri

Tipo:UnifiedAuditSessionCommand
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SessionId

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro SessionId specifica una stringa ID per identificare un comando (il cmdlet e i relativi parametri) che viene eseguito più volte per restituire i dati di paging. Il valore SessionId può essere qualsiasi valore stringa scelto.

Quando il cmdlet viene eseguito in sequenza con lo stesso ID sessione, il cmdlet restituisce i dati in blocchi sequenziali delle dimensioni specificate da ResultSize.

Per un determinato ID sessione, se si utilizza il valore SessionCommand ReturnLargeSet e quindi si usa il valore SessionCommand ReturnNextPreviewPage, i risultati sono limitati a 10.000 record. Per avere tutti i 50.000 record disponibili, usare sempre il valore ReturnLargeSet ogni volta che si esegue il cmdlet per lo stesso ID sessione.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SiteIds

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro SiteIds filtra le voci di log in base all'ID sito (GUID) di SharePoint. È possibile immettere più valori separati da virgole: Value1, Value2,...ValueN.

Per ottenere l'ID sito per un sito di SharePoint, aggiungerlo /_api/site/id all'URL della raccolta siti che si vuole specificare. Ad esempio, modificare l'URL https://contoso.sharepoint.com/sites/hr-project in https://contoso.sharepoint.com/sites/hr-project/_api/site/id. Viene restituito un payload XML e il SiteId per la raccolta siti viene visualizzato nella proprietà Edm.Guid; Ad esempio: <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>.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-StartDate

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro StartDate consente di specificare la data di inizio dell'intervallo di date. Le voci vengono archiviate nel log di controllo unificato in UTC (Coordinated Universal Time). Se si specifica un valore di data/ora senza fuso orario, il valore sarà in formato UTC.

Per specificare un valore data/ora per questo parametro, utilizzare una delle opzioni seguenti:

  • Specificare il valore di data/ora in UTC: Ad esempio, "2018-05-06 14:30:00z".
  • Specificare il valore di data/ora come formula che converte la data/ora nel fuso orario locale in UTC: Ad esempio, (Get-Date "5/6/2018 9:30 AM").ToUniversalTime(). Per altre informazioni, vedere Get-Date.

Se non si include un timestamp nel valore per questo parametro, il timestamp predefinito è 12:00 AM (mezzanotte) della data specificata.

Proprietà dei parametri

Tipo:ExDateTime
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-UserIds

Applicabile: Exchange Online, componente aggiuntivo di sicurezza predefinito per cassette postali locali

Il parametro UserIds filtra le voci di log in base all'account (UserPrincipalName) dell'utente che ha eseguito l'azione. Ad esempio, laura@contoso.onmicrosoft.com.

È possibile immettere più valori separati da virgole. Se i valori contengono spazi o richiedono le virgolette, utilizzare la sintassi seguente: "Value1","Value2",..."ValueN".

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedere about_CommonParameters.