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 log contiene eventi di Exchange Online, SharePoint Online, OneDrive for Business, Azure Active Directory, Microsoft Teams, Power BI e altri servizi 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.
Per informazioni sui set di parametri nella sezione Sintassi, vedere Sintassi del cmdlet di Exchange.
Sintassi
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>]
Descrizione
Il cmdlet Search-UnifiedAuditLog presenta pagine di dati in base a iterazioni ripetute dello stesso comando. Usare SessionId e SessionCommand per eseguire ripetutamente il cmdlet fino a quando non viene restituito zero o raggiungere il numero massimo di risultati in base al comando di sessione. Per misurare lo stato di avanzamento, esaminare le proprietà ResultIndex (riscontri nell'iterazione corrente) e ResultCount (riscontri per tutte le iterazioni) dei dati restituiti dal cmdlet.
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 altre informazioni, vedere Attività controllate.
Se si vogliono scaricare dati dal log di controllo Microsoft 365 a livello di codice, è consigliabile usare l'API attività di gestione Microsoft 365 anziché usare il cmdlet Search-UnifiedAuditLog in uno script di PowerShell. L'API attività di gestione Microsoft 365 è 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 Informazioni di riferimento sull'API attività di gestione.
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 come usarlo:
$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. Sebbene in questo argomento vengano elencati tutti i parametri relativi al cmdlet, si potrebbe non avere accesso ad alcuni di essi qualora non siano 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/2018 -EndDate 5/2/2018
Questo esempio cerca nel log di controllo unificato tutti gli eventi dal 1° maggio 201812:00 al 2 maggio 2018 12:00.
Nota: se non si include un timestamp nel valore per i parametri StartDate o EndDate, viene usato il timestamp predefinito 12:00 (mezzanotte).
Esempio 2
Search-UnifiedAuditLog -StartDate "6/1/2018 8:00 AM" -EndDate "6/1/2018 6:00 PM" -RecordType ExchangeAdmin
Questo esempio cerca nel log di controllo unificato tutti gli eventi di amministratore di Exchange dalle 8:00 alle 18:00 del 1° giugno 2018.
Nota Se si usa la stessa data per i parametri StartDate e EndDate, è necessario includere un timestamp; in caso contrario, non verrà restituito alcun risultato perché la data e l'ora per le date di inizio e fine saranno le stesse.
Esempio 3
Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -SessionId "UnifiedAuditLogSearch 05/08/17" -SessionCommand ReturnLargeSet
Questo esempio cerca nel log di controllo unificato tutti gli eventi dal 1° maggio 2018 all'8 maggio 2018. Se non si include un timestamp nei parametri StartDate o EndDate, i dati vengono restituiti nelle pagine perché il comando viene rieseguito in sequenza usando lo stesso valore SessionId.
Nota: usare sempre lo stesso valore SessionCommand per un valore SessionId specificato. Non passare da ReturnLargeSet a ReturnNextPreviewPage per lo stesso ID sessione. In caso contrario, l'output è limitato a 10.000 risultati.
Esempio 4
Search-UnifiedAuditLog -StartDate 5/1/2018 -EndDate 5/8/2018 -RecordType SharePointFileOperation -Operations FileAccessed -SessionId "WordDocs_SharepointViews"-SessionCommand ReturnLargeSet
Questo esempio cerca nel log di controllo unificato tutti i file a cui si accede in SharePoint Online dal 1° maggio 2018 all'8 maggio 2018. I dati vengono restituiti in pagine perché il comando viene rieseguito in sequenza usando lo stesso valore SessionId.
Esempio 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"
Questo esempio cerca nel log di controllo unificato dal 1° maggio 2018 all'8 maggio 2018 tutti gli eventi relativi a un documento di Word specifico identificato dal relativo valore ObjectID.
Parametri
-EndDate
Il parametro EndDate consente di specificare la data di fine dell'intervallo di date. Le voci vengono archiviate nel log di controllo unificato nell'ora UTC (Coordinated Universal Time). Se si specifica un valore di data/ora senza un fuso orario, il valore è in formato UTC.
Per specificare un valore data/ora per questo parametro, utilizzare una delle opzioni seguenti:
- Specificare il valore di data/ora in formato 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 formato 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 di questo parametro, il timestamp predefinito è 12:00 (mezzanotte) alla data specificata.
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
L'opzione Formatted determina la formattazione di stringhe descrittive per gli attributi normalmente restituiti come numeri interi, ad esempio RecordType e Operation. Con questa opzione non è necessario specificare alcun valore.
Inoltre, questa opzione rende AuditData più leggibile.
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
Il parametro FreeText filtra le voci di log in base alla stringa di testo specificata. Se il valore contiene degli spazi, è necessario racchiuderlo tra virgolette (").
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
Il parametro IPAddresses filtra le voci di log in base agli indirizzi IP specificati. Specificare più indirizzi IP separati da virgole.
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
Il parametro ObjectIds filtra le voci di log in base all'ID oggetto. L'ID oggetto è l'oggetto di destinazione su cui è stato agito e dipende dai valori RecordType e Operations dell'evento. Ad esempio, per le operazioni di SharePoint, l'ID oggetto è il percorso URL di un file, una cartella o un sito. Per le operazioni di Azure Active Directory, 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 altrimenti richiedono virgolette, usare la sintassi seguente: "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
Il parametro Operations filtra le voci di 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 altrimenti richiedono virgolette, usare la sintassi seguente: "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
Il parametro RecordType filtra le voci di log in base al tipo di record. Per informazioni dettagliate sui valori disponibili, vedere 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
Il parametro ResultSize consente di specificare il numero massimo di risultati da restituire. Il valore predefinito è 100, il massimo è 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
Il parametro SessionCommand specifica la quantità di informazioni restituite e la relativa organizzazione. 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 non è necessario un risultato ordinato ed è stato 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 valore SessionId specificato. Non passare da ReturnLargeSet a ReturnNextPreviewPage per lo stesso ID sessione. In caso contrario, l'output è limitato a 10.000 risultati.
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
Il parametro SessionId specifica un ID specificato sotto forma di stringa per identificare un comando (il cmdlet e i relativi parametri) che verrà eseguito più volte per restituire i dati di paging. SessionId può essere qualsiasi valore stringa scelto.
Quando il cmdlet viene eseguito in sequenza con lo stesso ID sessione, il cmdlet restituirà i dati in blocchi sequenziali delle dimensioni specificate da ResultSize.
Per un DETERMINATO ID sessione, se si usa il valore ReturnLargeSet sessionCommand 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.
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
Il parametro SiteIds filtra le voci di log in base al GUID (SharePoint SiteId). È possibile immettere più valori separati da virgole: Value1, Value2,...ValueN
.
Per ottenere il SiteId per un sito di SharePoint, aggiungere /_api/site/id
all'URL della raccolta siti da 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>
.
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
Il parametro StartDate consente di specificare la data di inizio dell'intervallo di date. Le voci vengono archiviate nel log di controllo unificato nell'ora UTC (Coordinated Universal Time). Se si specifica un valore di data/ora senza un fuso orario, il valore è in formato UTC.
Per specificare un valore data/ora per questo parametro, utilizzare una delle opzioni seguenti:
- Specificare il valore di data/ora in formato 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 formato 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 di questo parametro, il timestamp predefinito è 12:00 (mezzanotte) alla data specificata.
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
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 altrimenti richiedono virgolette, usare la sintassi seguente: "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 |