Office 365 - Recuperando dados de auditoria usando PowerShell

Olá a todos!
No dia a dia dos administradores, auditoria e conformidade são uma das principais prioridades.
Nesse post vou falar como recuperar dados de auditoria do Office 365 utilizando o PowerShell, mais especificamente do cmdlet Search-UnifiedAuditLog.

O Search-UnifiedAuditLog nos fornece logs de auditoria de eventos do Exchange Online, SharePoint Online, OneDrive for Business, Azure Active Directory, Microsoft Teams, Power BI, Sway e outros  serviços do Office 365.
Podemos pesquisar todos os eventos em um intervalo de datas ou aplicar filtros, com por exemplo, o usuário que executou uma ação ou um log de um determinado serviço.


Vamos a alguns exemplos:

Esse exemplo retornará os eventos de no período de 01/10/2018 a 30/10/2018. Como não informamos um horário, a hora padrão 12:00 AM (meia noite) será aplicada.
Search-UnifiedAuditLog -StartDate 10/01/2018 -EndDate 10/30/2018


Nesse exemplo pesquisamos os logs por data e horário entre 8:00 AM e 6:00 PM referente ao PowerBI.
Search-UnifiedAuditLog -StartDate "10/01/2018 8:00 AM" -EndDate "10/30/2018 6:00 PM" 
-RecordType PowerBI


O exemplo abaixo formata a o resultado por colunas, realizando os seguintes filtros:
Período: -StartDate 09/01/2018 -EndDate 10/30/2018
Serviço: PowerBI
Quantidade de registros: 50
Search-UnifiedAuditLog -StartDate 09/01/2018 -EndDate 10/30/2018 -RecordType PowerBI 
-ResultSize 50 | select recordType, CreationDate, UserIds, Operations

PS C:\>Search-UnifiedAuditLog -StartDate 09/01/2018 -EndDate 10/30/2018
-RecordType PowerBI -ResultSize 50 | select recordType, CreationDate, UserIds, Operations

RecordType   CreationDate        UserIds                     Operations
----------   ------------        -------                     ----------
PowerBIAudit 29/10/2018 23:13:24 antonio@empresa.com.br   ViewReport
PowerBIAudit 29/10/2018 23:13:24 antonio@empresa.com.br   ViewReport
PowerBIAudit 29/10/2018 21:08:22 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 21:07:18 manoel@empresa.com.br    EditDataset
PowerBIAudit 29/10/2018 21:07:11 manoel@empresa.com.br    Import
PowerBIAudit 29/10/2018 20:36:32 asilva@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 20:35:57 asilva@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 20:35:47 asilva@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 20:32:06 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 20:32:02 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 20:30:43 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 20:30:31 manoel@empresa.com.br    EditDataset
PowerBIAudit 29/10/2018 20:30:24 manoel@empresa.com.br    Import
PowerBIAudit 29/10/2018 20:00:46 asilva@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 19:59:11 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 19:59:06 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 19:58:37 manoel@empresa.com.br    EditDataset
PowerBIAudit 29/10/2018 19:58:19 manoel@empresa.com.br    Import
PowerBIAudit 29/10/2018 19:06:10 frnc@empresa.com.br      ViewReport
PowerBIAudit 29/10/2018 19:04:59 fluc@empresa.com.br      ViewReport
PowerBIAudit 29/10/2018 18:39:22 asilva@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:39:11 asilva@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:32:01 donda@empresa.com.br     ViewReport
PowerBIAudit 29/10/2018 18:31:58 botelho@empresa.com.br   ViewReport
PowerBIAudit 29/10/2018 18:17:16 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:10:58 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:10:57 botelho@empresa.com.br   EditDataset
PowerBIAudit 29/10/2018 18:10:50 botelho@empresa.com.br   Import
PowerBIAudit 29/10/2018 18:06:00 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:05:30 botelho@empresa.com.br   EditDataset
PowerBIAudit 29/10/2018 18:05:23 botelho@empresa.com.br   Import
PowerBIAudit 29/10/2018 18:03:52 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:03:49 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:03:28 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:02:32 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:02:22 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:02:21 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:01:31 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:01:23 manoel@empresa.com.br    DeleteReport
PowerBIAudit 29/10/2018 18:00:58 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 18:00:24 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 17:59:53 botelho@empresa.com.br   ViewReport
PowerBIAudit 29/10/2018 17:57:44 botelho@empresa.com.br   ViewReport
PowerBIAudit 29/10/2018 17:56:38 botelho@empresa.com.br   EditDataset
PowerBIAudit 29/10/2018 17:56:31 botelho@empresa.com.br   Import
PowerBIAudit 29/10/2018 17:53:39 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 17:53:19 fluc@empresa.com.br      UpdateFolder
PowerBIAudit 29/10/2018 17:49:47 manoel@empresa.com.br    ViewReport
PowerBIAudit 29/10/2018 17:49:01 fluc@empresa.com.br      ViewDashboard
PowerBIAudit 29/10/2018 17:49:00 fluc@empresa.com.br      ViewDashboard

PS C:\>

Se quisermos exportar o resultado para um arquivo, basta adicionar | Export-Csv -Path c:\temp\result.csv

Search-UnifiedAuditLog -StartDate 09/01/2018 -EndDate 10/30/2018 -RecordType PowerBI 
-ResultSize 50 | select recordType, CreationDate, UserIds, Operations 
| Export-Csv -Path c:\temp\result.csv



Abaixo algumas informações sobre os principais parâmetros:


-RecordType

Filtra as entradas de logs por tipo.
Os valores válidos são:
  • AzureActiveDirectory
  • AzureActiveDirectoryAccountLogon
  • AzureActiveDirectoryStsLogon
  • ComplianceDLPExchange
  • ComplianceDLPSharePoint
  • CRM
  • DataCenterSecurityCmdlet
  • Discovery
  • ExchangeAdmin
  • ExchangeAggregatedOperation
  • ExchangeItem
  • ExchangeItemGroup
  • MicrosoftTeams
  • MicrosoftTeamsAddOns
  • MicrosoftTeamsSettingsOperation
  • OneDrive
  • PowerBIAudit
  • SecurityComplianceCenterEOPCmdlet
  • SharePoint
  • SharePointFileOperation
  • SharePointSharingOperation
  • SkypeForBusinessCmdlets
  • SkypeForBusinessPSTNUsage
  • SkypeForBusinessUsersBlocked
  • Sway
  • ThreatIntelligence
  • Yammer


-ResultSize

Especifica o número máximo de relutados.
O valor padrão é 100 e o máximo é 5.000.


Para mais detalhes clique no link abaixo.
https://docs.microsoft.com/en-us/powershell/module/exchange/policy-and-compliance-audit/search-unifiedauditlog?view=exchange-ps

Por hoje é só meus amigos.
Grande abraço,

Breno Padovan