Analisador de desempenho do Antivírus do Microsoft Defender

Aplica-se a

Plataformas

  • Windows

Requisitos

O analisador de desempenho do Antivírus do Microsoft Defender tem os seguintes pré-requisitos:

  • Versões suportadas do Windows:
  • 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.

Imagem do analisador de desempenho conceptual 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:

  1. Execute o analisador de desempenho para recolher uma gravação de desempenho dos eventos do Antivírus do Microsoft Defender no ponto final.

    Observação

    O desempenho dos eventos do Antivírus do Microsoft Defender do tipo Microsoft-Antimalware-Engine é registado através do analisador de desempenho.

  2. 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:

  1. 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.

  2. Se existirem processos ou serviços que se pensa estarem a afetar o desempenho, reproduza a situação ao realizar as tarefas relevantes.

  3. Prima ENTER para parar e guardar a gravação ou Ctrl+C para cancelar a gravação.

  4. Analise os resultados com o parâmetro do analisador de Get-MpPerformanceReport desempenho. Por exemplo, ao executar o comando Get-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.

Observação

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.

Saída de exemplo para uma consulta TopFiles básica

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.Xdo 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-MpPerformanceRecordingdo 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.

Observação

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
flag 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.1usou 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

Dica

Você deseja aprender mais? Contacte a comunidade de Segurança da Microsoft na nossa Comunidade Tecnológica: Microsoft Defender para Endpoint Tech Community.