Compartir vía


Analizador de rendimiento para antivirus de Microsoft Defender

Se aplica a

Plataformas

  • Windows

Requisitos

El analizador de rendimiento del Antivirus de Microsoft Defender tiene los siguientes requisitos previos:

  • Versiones admitidas de Windows:
  • Versión de la plataforma: 4.18.2108.7 o posterior
  • Versión de PowerShell: PowerShell versión 5.1, PowerShell ISE, PowerShell remoto (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)

¿Qué es el analizador de rendimiento del Antivirus de Microsoft Defender?

Si los dispositivos que ejecutan el Antivirus de Microsoft Defender experimentan problemas de rendimiento, puede usar el analizador de rendimiento para mejorar el rendimiento del Antivirus de Microsoft Defender. El analizador de rendimiento es una herramienta de línea de comandos de PowerShell que le ayuda a determinar archivos, extensiones de archivo y procesos que podrían estar causando problemas de rendimiento en puntos de conexión individuales durante los exámenes antivirus. Puede usar la información recopilada por el analizador de rendimiento para evaluar los problemas de rendimiento y aplicar acciones de corrección.

De forma similar a la forma en que los mecánicos realizan diagnósticos y servicios en un vehículo que tiene problemas de rendimiento, el analizador de rendimiento puede ayudarle a mejorar el rendimiento del Antivirus de Microsoft Defender.

Imagen del analizador de rendimiento conceptual para antivirus de Microsoft Defender.

Algunas opciones para analizar incluyen:

  • Rutas de acceso principales que afectan al tiempo de examen
  • Archivos principales que afectan al tiempo de examen
  • Principales procesos que afectan al tiempo de examen
  • Extensiones de archivo principales que afectan al tiempo de examen
  • Combinaciones: por ejemplo:
    • archivos principales por extensión
    • rutas de acceso superiores por extensión
    • procesos principales por ruta de acceso
    • exámenes superiores por archivo
    • exámenes superiores por archivo por proceso

Ejecución del analizador de rendimiento

El proceso de alto nivel para ejecutar el analizador de rendimiento implica los pasos siguientes:

  1. Ejecute el analizador de rendimiento para recopilar una grabación de rendimiento de eventos del Antivirus de Microsoft Defender en el punto de conexión.

    Nota:

    El rendimiento de los eventos del Antivirus de Microsoft Defender del tipo Microsoft-Antimalware-Engine se registra a través del analizador de rendimiento.

  2. Analice los resultados del examen mediante diferentes informes de grabación.

Uso del analizador de rendimiento

Para iniciar la grabación de eventos del sistema, abra PowerShell en modo de administrador y realice los pasos siguientes:

  1. Ejecute el siguiente comando para iniciar la grabación:

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    donde -RecordTo el parámetro especifica la ubicación de ruta de acceso completa en la que se guarda el archivo de seguimiento. Para obtener más información sobre los cmdlets, consulte Cmdlets del Antivirus de Microsoft Defender.

  2. Si hay procesos o servicios que se cree que afectan al rendimiento, reproduzca la situación realizando las tareas pertinentes.

  3. Presione ENTRAR para detener y guardar la grabación o Ctrl+C para cancelar la grabación.

  4. Analice los resultados mediante el parámetro del analizador de Get-MpPerformanceReport rendimiento. Por ejemplo, al ejecutar el comando Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10, se proporciona al usuario una lista de los diez primeros exámenes de los tres primeros archivos que afectan al rendimiento.

    Para obtener más información sobre los parámetros y las opciones de la línea de comandos, vea New-MpPerformanceRecording y Get-MpPerformanceReport.

Nota:

Al ejecutar una grabación, si aparece el error "No se puede iniciar la grabación de rendimiento porque windows Performance Recorder ya está grabando", ejecute el siguiente comando para detener el seguimiento existente con el nuevo comando: wpr -cancel -instancename MSFT_MpPerformanceRecording.

Datos e información de optimización del rendimiento

En función de la consulta, el usuario puede ver los datos de los recuentos de exámenes, la duración (total/min/average/max/median), la ruta de acceso, el proceso y el motivo del examen. En la imagen siguiente se muestra la salida de ejemplo de una consulta simple de los 10 archivos principales para el impacto en el examen.

Salida de ejemplo para una consulta TopFiles básica

Exportación y conversión a CSV y JSON

Los resultados del analizador de rendimiento también se pueden exportar y convertir a un archivo CSV o JSON. En este artículo se incluyen ejemplos que describen el proceso de "exportación" y "conversión" mediante código de ejemplo.

A partir de la versión 4.18.2206.Xde Defender, los usuarios pueden ver la información de la razón de omisión de examen en la SkipReason columna . Los valores posibles son:

  • No omitido
  • Optimización (normalmente debido a motivos de rendimiento)
  • Usuario omitido (normalmente debido a exclusiones del conjunto de usuarios)

Para CSV

  • Para exportar:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
  • Para convertir:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation

Para JSON

  • Para convertir:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1

Para garantizar una salida legible para la máquina para la exportación con otros sistemas de procesamiento de datos, se recomienda usar -Raw el parámetro para Get-MpPerformanceReport. Consulte las secciones siguientes para obtener más información.

Referencia de PowerShell

Hay dos nuevos cmdlets de PowerShell que se usan para optimizar el rendimiento del Antivirus de Microsoft Defender:

New-MpPerformanceRecording

En la sección siguiente se describe la referencia para el nuevo cmdlet New-MpPerformanceRecordingde PowerShell . Este cmdlet recopila una grabación de rendimiento de los exámenes del Antivirus de Microsoft Defender.

Sintaxis: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Descripción: New-MpPerformanceRecording

El New-MpPerformanceRecording cmdlet recopila una grabación de rendimiento de los exámenes del Antivirus de Microsoft Defender. Estas grabaciones de rendimiento contienen eventos de proceso de kernel de Microsoft-Antimalware-Engine y NT y se pueden analizar después de la recopilación mediante el cmdlet Get-MpPerformanceReport .

Este New-MpPerformanceRecording cmdlet proporciona información sobre los archivos problemáticos que podrían provocar una degradación en el rendimiento del Antivirus de Microsoft Defender. Esta herramienta se proporciona "tal cual" y no está pensada para proporcionar sugerencias sobre exclusiones. Las exclusiones pueden reducir el nivel de protección en los puntos de conexión. Las exclusiones, si las hubiera, deben definirse con precaución.

Para obtener más información sobre el analizador de rendimiento, consulte los documentos del Analizador de rendimiento .

Importante

Este cmdlet requiere privilegios de administrador con privilegios elevados.

Ejemplos: New-MpPerformanceRecording

Ejemplo 1: Recopilar una grabación de rendimiento y guardarla
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

El comando recopila una grabación de rendimiento y la guarda en la ruta de acceso especificada: .\Defender-scans.etl.

Ejemplo 2: Recopilación de una grabación de rendimiento para una sesión remota de PowerShell
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

El comando recopila una grabación de rendimiento en Server02 (según lo especificado por el argumento $s del parámetro Session) y lo guarda en la ruta de acceso especificada: C:\LocalPathOnServer02\trace.etl en Server02.

Parámetros: New-MpPerformanceRecording

-RecordTo

Especifica la ubicación en la que se va a guardar la grabación de rendimiento de Antimalware de Microsoft Defender.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Sesión

Especifica el objeto en el PSSession que se va a crear y guardar la grabación de rendimiento del Antivirus de Microsoft Defender. Cuando se usa este comando, el RecordTo parámetro hace referencia a la ruta de acceso local en el equipo remoto. Disponible con la versión 4.18.2201.10 de la plataforma Defender y versiones posteriores.

Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Get-MpPerformanceReport

En la sección siguiente se describe el Get-MpPerformanceReport cmdlet de PowerShell. Analiza e informa sobre la grabación de rendimiento del Antivirus de Microsoft Defender.

Sintaxis: 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>]

Descripción: Get-MpPerformanceReport

El Get-MpPerformanceReport cmdlet analiza una grabación de rendimiento del Antivirus de Microsoft Defender recopilada anteriormente (New-MpPerformanceRecording) e informa de las rutas de acceso de archivo, las extensiones de archivo y los procesos que causan el mayor impacto en los exámenes del Antivirus de Microsoft Defender.

El analizador de rendimiento proporciona información sobre los archivos problemáticos que podrían provocar una degradación en el rendimiento del Antivirus de Microsoft Defender. Esta herramienta se proporciona "tal cual" y no está pensada para proporcionar sugerencias sobre exclusiones. Las exclusiones pueden reducir el nivel de protección en los puntos de conexión. Las exclusiones, si las hubiera, deben definirse con precaución.

Para obtener más información sobre el analizador de rendimiento, consulte los documentos del Analizador de rendimiento .

Versiones admitidas del sistema operativo:

Windows versión 10 y versiones posteriores.

Nota:

Esta característica está disponible a partir de la versión 4.18.2108.X de la plataforma y versiones posteriores.

Ejemplos: Get-MpPerformanceReport

Ejemplo 1: Consulta única
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Ejemplo 2: Varias consultas
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Ejemplo 3: Consultas anidadas
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Ejemplo 4: Uso del parámetro -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Ejemplo 5: Uso del parámetro -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

El uso -Raw de en el comando especifica que la salida debe ser legible y fácilmente convertible a formatos de serialización como JSON.

Parámetros: Get-MpPerformanceReport

-TopPaths

Solicita un informe de rutas de acceso superiores y especifica cuántas rutas de acceso superiores se van a generar, ordenadas por duración. Agrega los exámenes en función de su ruta de acceso y directorio. El usuario puede especificar cuántos directorios se deben mostrar en cada nivel y la profundidad de la selección.

- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth

Especifica la profundidad recursiva que se usa para agrupar y mostrar los resultados de ruta de acceso agregados. Por ejemplo C:\ , corresponde a una profundidad de 1 y C:\Users\Foo corresponde a una profundidad de 3.

Esta marca puede acompañar todas las demás opciones de Ruta de acceso superior. Si falta, se supone un valor predeterminado de 3. El valor no puede ser 0.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
flag definición
-TopScansPerPath Especifica cuántos exámenes superiores se especificarán para cada ruta de acceso superior.
-TopFilesPerPath Especifica cuántos archivos superiores se especificarán para cada ruta de acceso superior.
-TopScansPerFilePerPath Especifica cuántos exámenes superiores se van a generar para cada archivo superior de cada ruta de acceso superior, ordenados por "Duración"
-TopExtensionsPerPath Especifica cuántas extensiones superiores se van a generar para cada ruta de acceso superior.
-TopScansPerExtensionPerPath Especifica cuántos exámenes superiores se van a generar para cada extensión superior para cada ruta de acceso superior.
-TopProcessesPerPath Especifica cuántos procesos principales se van a generar para cada ruta de acceso superior
-TopScansPerProcessPerPath Especifica cuántos exámenes superiores se van a generar para cada proceso superior para cada ruta de acceso superior
-TopPathsPerExtension Especifica cuántas rutas de acceso superiores se van a generar para cada extensión superior
-TopScansPerPathPerExtension Especifica cuántos exámenes superiores se van a generar para cada ruta de acceso superior para cada extensión superior.
-TopPathsPerProcess Especifica cuántas rutas de acceso superiores se van a generar para cada proceso superior
-TopScansPerPathPerProcess Especifica cuántos exámenes superiores se van a generar para cada ruta de acceso superior para cada proceso superior.
-MinDuration

Especifica la duración mínima de cualquier examen o duración total del examen de archivos, extensiones y procesos incluidos en el informe; acepta valores como 0.1234567sec, 0.1234ms, 0.1uso un TimeSpan válido.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Camino

Especifica la ruta de acceso o las rutas de acceso a una o varias ubicaciones.

Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Crudo

Especifica que la salida de la grabación de rendimiento debe ser legible y fácilmente convertible a formatos de serialización como JSON (por ejemplo, mediante el comando Convertir a JSON). Esta configuración se recomienda para los usuarios interesados en el procesamiento por lotes con otros sistemas de procesamiento de datos.

Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions

Especifica cuántas extensiones superiores se van a generar, ordenadas por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess

Especifica cuántas extensiones superiores se van a generar para cada proceso superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles

Solicita un informe de archivos principales y especifica cuántos archivos principales se van a generar, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension

Especifica cuántos archivos superiores se van a generar para cada extensión superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess

Especifica cuántos archivos principales se van a generar para cada proceso superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses

Solicita un informe de procesos superiores y especifica cuántos de los procesos principales se van a generar, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension

Especifica cuántos procesos superiores se van a generar para cada extensión superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile

Especifica cuántos procesos superiores se van a generar para cada archivo superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans

Solicita un informe de exámenes superiores y especifica cuántos exámenes superiores se van a generar, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension

Especifica cuántos exámenes superiores se van a generar para cada extensión superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess

Especifica cuántos exámenes superiores se van a generar para cada extensión superior de cada proceso superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile

Especifica cuántos exámenes superiores se van a generar para cada archivo superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension

Especifica cuántos exámenes superiores se van a generar para cada archivo superior de cada extensión superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess

Especifica el número de exámenes superiores de salida de cada archivo superior para cada proceso superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess

Especifica cuántos exámenes superiores se van a generar para cada proceso superior en el informe Procesos principales, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension

Especifica cuántos exámenes superiores para la salida de cada proceso superior de cada extensión superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile

Especifica cuántos exámenes superiores de salida hay para cada proceso superior de cada archivo superior, ordenados por duración.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Sugerencia

¿Desea obtener más información? Interactúe con la comunidad de seguridad de Microsoft en nuestra comunidad tecnológica: Microsoft Defender para punto de conexión Tech Community.