Analisador de desempenho do Antivírus do Microsoft Defender
Aplica-se a
- API do Microsoft Defender para Endpoint 1
- Microsoft Defender para Endpoint Plano 2
- Antivírus do Microsoft Defender
Plataformas
- Windows
Requisitos
O analisador de desempenho do Antivírus do Microsoft Defender tem os seguintes pré-requisitos:
- Versões suportadas do Windows:
- Windows 10
- Windows 11
- Windows Server 2016 e posterior
- Windows Server 2012 R2 (quando integrado com uma solução moderna e unificada)
- Para o Windows Server 2012 R2, é necessário o Windows ADK (Windows Performance Toolkit). Transferir e instalar o Windows ADK
- Versão da Plataforma:
4.18.2108.7
ou posterior - Versão do PowerShell: PowerShell Versão 5.1, ISE do PowerShell, PowerShell remoto (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)
O que é o analisador de desempenho do Antivírus do Microsoft Defender?
Se os dispositivos com o Antivírus do Microsoft Defender estiverem a ter problemas de desempenho, pode utilizar o analisador de desempenho para melhorar o desempenho do Antivírus do Microsoft Defender. O analisador de desempenho é uma ferramenta de linha de comandos do PowerShell que o ajuda a determinar ficheiros, extensões de ficheiros e processos que podem estar a causar problemas de desempenho em pontos finais individuais durante análises antivírus. Pode utilizar as informações recolhidas pelo analisador de desempenho para avaliar problemas de desempenho e aplicar ações de remediação.
À semelhança da forma como os mecânicos executam diagnósticos e serviços num veículo com problemas de desempenho, o analisador de desempenho pode ajudá-lo a melhorar o desempenho do Antivírus do Microsoft Defender.
Algumas opções a analisar incluem:
- Principais caminhos que afetam o tempo de análise
- Ficheiros principais que afetam o tempo de análise
- Principais processos que afetam o tempo de análise
- Principais extensões de ficheiro que afetam o tempo de análise
- Combinações – por exemplo:
- ficheiros principais por extensão
- principais caminhos por extensão
- principais processos por caminho
- análises principais por ficheiro
- principais análises por ficheiro por processo
Analisador de desempenho em execução
O processo de alto nível para executar o analisador de desempenho envolve os seguintes passos:
Execute o analisador de desempenho para recolher uma gravação de desempenho dos eventos do Antivírus do Microsoft Defender no ponto final.
Nota
O desempenho dos eventos do Antivírus do Microsoft Defender do tipo
Microsoft-Antimalware-Engine
é registado através do analisador de desempenho.Analise os resultados da análise com relatórios de gravação diferentes.
Utilizar o analisador de desempenho
Para iniciar a gravação de eventos do sistema, abra o PowerShell no modo de administrador e execute os seguintes passos:
Execute o seguinte comando para iniciar a gravação:
New-MpPerformanceRecording -RecordTo <recording.etl>
em que o
-RecordTo
parâmetro especifica a localização do caminho completo na qual o ficheiro de rastreio é guardado. Para obter mais informações sobre cmdlets, consulte Cmdlets do Antivírus do Microsoft Defender.Se existirem processos ou serviços que se pensa estarem a afetar o desempenho, reproduza a situação ao realizar as tarefas relevantes.
Prima ENTER para parar e guardar a gravação ou Ctrl+C para cancelar a gravação.
Analise os resultados com o parâmetro do analisador de
Get-MpPerformanceReport
desempenho. Por exemplo, ao executar o comandoGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
, é fornecida ao utilizador uma lista das dez primeiras análises para os três principais ficheiros que afetam o desempenho.Para obter mais informações sobre os parâmetros e opções da linha de comandos, veja New-MpPerformanceRecording e Get-MpPerformanceReport.
Nota
Ao executar uma gravação, se receber o erro "Não é possível iniciar a gravação de desempenho porque o Gravador de Desempenho do Windows já está a gravar", execute o seguinte comando para parar o rastreio existente com o novo comando: wpr -cancel -instancename MSFT_MpPerformanceRecording
.
Dados e informações de otimização do desempenho
Com base na consulta, o utilizador é capaz de ver dados para contagens de análise, duração (total/min/média/máx/mediana), caminho, processo e motivo da análise. A imagem seguinte mostra o resultado de exemplo de uma consulta simples dos 10 ficheiros principais para impacto na análise.
Exportar e converter para CSV e JSON
Os resultados do analisador de desempenho também podem ser exportados e convertidos num ficheiro CSV ou JSON. Este artigo inclui exemplos que descrevem o processo de "exportação" e "conversão" através de código de exemplo.
A partir da versão 4.18.2206.X
do Defender, os utilizadores podem ver as informações do motivo de ignorar análise na SkipReason
coluna. Os valores possíveis são:
- Não Ignorado
- Otimização (normalmente devido a razões de desempenho)
- Utilizador ignorado (normalmente devido a exclusões definidas pelo utilizador)
Para CSV
- Para exportar:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
- Para converter:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation
Para JSON
- Para converter:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1
Para garantir uma saída legível por computador para exportação com outros sistemas de processamento de dados, recomenda-se que utilize -Raw
o parâmetro para Get-MpPerformanceReport
. Veja as secções seguintes para obter mais detalhes.
Referência do PowerShell
Existem dois novos cmdlets do PowerShell utilizados para otimizar o desempenho do Antivírus do Microsoft Defender:
New-MpPerformanceRecording
A secção seguinte descreve a referência para o novo cmdlet New-MpPerformanceRecording
do PowerShell . Este cmdlet Recolhe uma gravação de desempenho das análises do Antivírus do Microsoft Defender.
Sintaxe: New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
Descrição: New-MpPerformanceRecording
O New-MpPerformanceRecording
cmdlet recolhe uma gravação de desempenho das análises do Antivírus do Microsoft Defender. Estas gravações de desempenho contêm eventos de processo de kernel Microsoft-Antimalware-Engine e NT e podem ser analisadas após a recolha com o cmdlet Get-MpPerformanceReport .
Este New-MpPerformanceRecording
cmdlet fornece informações sobre ficheiros problemáticos que podem causar uma degradação no desempenho do Antivírus do Microsoft Defender. Esta ferramenta é fornecida "tal como está" e não se destina a fornecer sugestões sobre exclusões. As exclusões podem reduzir o nível de proteção nos pontos finais. As exclusões, se existirem, devem ser definidas com cuidado.
Para obter mais informações sobre o analisador de desempenho, veja Documentos do Analisador de Desempenho .
Importante
Este cmdlet requer privilégios de administrador elevados.
Exemplos: New-MpPerformanceRecording
Exemplo 1: Recolher uma gravação de desempenho e guardá-la
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
O comando recolhe uma gravação de desempenho e guarda-a no caminho especificado: .\Defender-scans.etl
.
Exemplo 2: Recolher uma gravação de desempenho para a sessão remota do PowerShell
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
O comando recolhe uma gravação de desempenho em Server02
(conforme especificado pelo argumento $s do parâmetro Session) e guarda-a no caminho especificado: C:\LocalPathOnServer02\trace.etl
em Server02
.
Parâmetros: New-MpPerformanceRecording
-RecordTo
Especifica a localização na qual pretende guardar a gravação de desempenho do Antimalware do Microsoft Defender.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Sessão
Especifica o PSSession
objeto no qual criar e guardar a gravação de desempenho do Antivírus do Microsoft Defender. Quando utiliza este comando, o RecordTo
parâmetro refere-se ao caminho local no computador remoto. Disponível com a versão 4.18.2201.10
da plataforma defender e posterior.
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
A secção seguinte descreve o cmdlet do Get-MpPerformanceReport
PowerShell. Analisa e reporta a gravação do desempenho do Antivírus do Microsoft Defender.
Sintaxe: Get-MpPerformanceReport
Get-MpPerformanceReport [-Path] <String> [-TopFiles <Int32>] [-TopScansPerFile <Int32>] [-TopProcessesPerFile
<Int32>] [-TopScansPerProcessPerFile <Int32>] [-TopPaths <Int32>] [-TopPathsDepth <Int32>] [-TopScansPerPath
<Int32>] [-TopFilesPerPath <Int32>] [-TopScansPerFilePerPath <Int32>] [-TopExtensionsPerPath <Int32>]
[-TopScansPerExtensionPerPath <Int32>] [-TopProcessesPerPath <Int32>] [-TopScansPerProcessPerPath <Int32>]
[-TopExtensions <Int32>] [-TopScansPerExtension <Int32>] [-TopPathsPerExtension <Int32>]
[-TopScansPerPathPerExtension <Int32>] [-TopFilesPerExtension <Int32>] [-TopScansPerFilePerExtension <Int32>]
[-TopProcessesPerExtension <Int32>] [-TopScansPerProcessPerExtension <Int32>] [-TopProcesses <Int32>]
[-TopScansPerProcess <Int32>] [-TopFilesPerProcess <Int32>] [-TopScansPerFilePerProcess <Int32>]
[-TopExtensionsPerProcess <Int32>] [-TopScansPerExtensionPerProcess <Int32>] [-TopPathsPerProcess <Int32>]
[-TopScansPerPathPerProcess <Int32>] [-TopScans <Int32>] [-MinDuration <String>] [-MinStartTime <DateTime>]
[-MinEndTime <DateTime>] [-MaxStartTime <DateTime>] [-MaxEndTime <DateTime>] [-Overview] [-Raw]
[<CommonParameters>]
Descrição: Get-MpPerformanceReport
O Get-MpPerformanceReport
cmdlet analisa uma gravação de desempenho do Antivírus do Microsoft Defender previamente recolhida (New-MpPerformanceRecording) e comunica os caminhos de ficheiro, extensões de ficheiro e processos que causam o maior impacto nas análises do Antivírus do Microsoft Defender.
O analisador de desempenho fornece informações sobre ficheiros problemáticos que podem causar uma degradação no desempenho do Antivírus do Microsoft Defender. Esta ferramenta é fornecida "tal como está" e não se destina a fornecer sugestões sobre exclusões. As exclusões podem reduzir o nível de proteção nos pontos finais. As exclusões, se existirem, devem ser definidas com cuidado.
Para obter mais informações sobre o analisador de desempenho, veja Documentos do Analisador de Desempenho .
Versões suportadas do SO:
Windows Versão 10 e posterior.
Nota
Esta funcionalidade está disponível a partir da versão 4.18.2108.X
da plataforma e posterior.
Exemplos: Get-MpPerformanceReport
Exemplo 1: consulta única
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Exemplo 2: Múltiplas consultas
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Exemplo 3: Consultas aninhadas
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Exemplo 4: Utilizar o parâmetro -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Exemplo 5: Utilizar o parâmetro -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
A utilização -Raw
no comando especifica que a saída deve ser legível por computador e prontamente convertível para formatos de serialização como JSON.
Parâmetros: Get-MpPerformanceReport
-TopPaths
Pede um relatório de caminhos superiores e especifica quantos caminhos principais para a saída, ordenados por duração. Agrega as análises com base no respetivo caminho e diretório. O utilizador pode especificar quantos diretórios devem ser apresentados em cada nível e a profundidade da seleção.
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
Especifica a profundidade recursiva utilizada para agrupar e apresentar resultados de caminho agregado. Por exemplo C:\
, corresponde a uma profundidade de 1 e C:\Users\Foo
corresponde a uma profundidade de 3.
Este sinalizador pode acompanhar todas as outras opções de Caminho Superior. Se estiver em falta, é assumido um valor predefinido de 3. O valor não pode ser 0.
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
sinalizador | definição |
---|---|
-TopScansPerPath |
Especifica o número de análises principais a especificar para cada caminho superior. |
-TopFilesPerPath |
Especifica o número de ficheiros principais a especificar para cada caminho superior. |
-TopScansPerFilePerPath |
Especifica o número de análises principais a exportar para cada ficheiro superior para cada caminho superior, ordenado por "Duração" |
-TopExtensionsPerPath |
Especifica o número de extensões principais a exportar para cada caminho superior |
-TopScansPerExtensionPerPath |
Especifica o número de análises principais a exportar para cada extensão superior para cada caminho superior |
-TopProcessesPerPath |
Especifica o número de processos principais a exportar para cada caminho superior |
-TopScansPerProcessPerPath |
Especifica o número de análises principais a exportar para cada processo superior para cada caminho superior |
-TopPathsPerExtension |
Especifica o número de caminhos principais a exportar para cada extensão superior |
-TopScansPerPathPerExtension |
Especifica o número de análises principais a exportar para cada caminho superior para cada extensão superior |
-TopPathsPerProcess |
Especifica o número de caminhos principais a exportar para cada processo superior |
-TopScansPerPathPerProcess |
Especifica o número de análises principais a exportar para cada caminho superior para cada processo superior |
-MinDuration
Especifica a duração mínima de qualquer análise ou durações totais de análise de ficheiros, extensões e processos incluídos no relatório; aceita valores como 0.1234567sec
, 0.1234ms
, 0.1us
ou um TimeSpan válido.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Caminho
Especifica o caminho ou caminhos para uma ou mais localizações.
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Não processado
Especifica que a saída da gravação de desempenho deve ser legível por computador e prontamente convertível para formatos de serialização como JSON (por exemplo, através do comando Converter para JSON). Esta configuração é recomendada para os utilizadores interessados no processamento em lotes com outros sistemas de processamento de dados.
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions
Especifica o número de extensões principais a exportar, ordenadas por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
Especifica o número de extensões principais a exportar para cada processo superior, ordenadas por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles
Pede um relatório de ficheiros principais e especifica quantos ficheiros principais são exportados, ordenados por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
Especifica o número de ficheiros principais a exportar para cada extensão superior, ordenados por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
Especifica o número de ficheiros principais a exportar para cada processo superior, ordenados por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses
Pede um relatório de principais processos e especifica o número de processos principais a exportar, ordenados por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension
Especifica o número de processos principais a exportar para cada extensão superior, ordenados por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
Especifica o número de processos principais a exportar para cada ficheiro superior, ordenados por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
Pede um relatório de análise superior e especifica quantas análises principais são efetuadas à saída, ordenadas por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
Especifica o número de análises principais a exportar para cada extensão superior, ordenadas por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
Especifica o número de análises principais a exportar para cada extensão superior para cada processo superior, ordenada por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
Especifica o número de análises principais a exportar para cada ficheiro superior, ordenadas por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
Especifica o número de análises principais a exportar para cada ficheiro superior para cada extensão superior, ordenada por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
Especifica o número de análises principais de saída para cada ficheiro superior para cada processo superior, ordenado por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
Especifica o número de análises principais a exportar para cada processo superior no relatório Processos Principais, ordenado por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
Especifica o número de análises principais de saída para cada processo superior para cada extensão superior, ordenada por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
Especifica o número de análises principais de saída para cada processo superior para cada ficheiro superior, ordenado por duração.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Sugestão
Quer saber mais? Contacte a comunidade de Segurança da Microsoft na nossa Comunidade Tecnológica: Microsoft Defender para Endpoint Tech Community.