Analizador de rendimiento para Microsoft Defender Antivirus

Se aplica a

Plataformas

  • Windows

Requisitos

Microsoft Defender Analizador de rendimiento de Antivirus tiene los siguientes requisitos previos:

  • Versiones compatibles de Windows: Windows 10, Windows 11, Windows 2012 R2 con la solución unificada moderna y Windows Server 2016 y versiones posteriores
  • 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 Microsoft Defender analizador de rendimiento de Antivirus?

Si los equipos que ejecutan Microsoft Defender Antivirus experimentan problemas de rendimiento, puede usar el analizador de rendimiento para mejorar el rendimiento de Microsoft Defender Antivirus. El analizador de rendimiento de Microsoft Defender Antivirus en Windows 10, Windows 11 y Windows Server 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 servicio en un vehículo que tiene problemas de rendimiento, el analizador de rendimiento puede ayudarle a mejorar el rendimiento del Antivirus de Defender.

Imagen del analizador de rendimiento conceptual para Microsoft Defender Antivirus. El diagrama está relacionado con: analizador de rendimiento Microsoft Defender, analizador de rendimiento de Defender, Get-MpPerformanceRepor, New-MpPerformanceRecording, windows Defender, microsoft Defender, microsoft windows 10, antivirus de Microsoft Defender, micro-software windows 11, antivirus de Windows, antivirus de Microsoft, antivirus de Windows Defender, antivirus de Windows 10, microsoft Windows Defender, rendimiento Windows.

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 Microsoft Defender eventos antivirus en el punto de conexión.

    Nota:

    El rendimiento de Microsoft Defender eventos antivirus 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 administrativo 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 Microsoft Defender Antivirus.

  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

Funcionalidad adicional: 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. Para obtener ejemplos que describen el proceso de "exportación" y "conversión" a través de códigos de ejemplo, consulte las secciones siguientes.

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 columna "SkipReason". 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 de Microsoft Defender Antivirus:

New-MpPerformanceRecording

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

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 de Microsoft Defender Antivirus. 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 de Microsoft Defender Antivirus. Esta herramienta se proporciona "AS IS" 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 Analizador de rendimiento documentos.

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 anterior 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 anterior 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 el Microsoft Defender grabación de rendimiento de Antimalware.

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

Especifica el objeto PSSession en el que se va a crear y guardar la grabación de rendimiento Microsoft Defender Antivirus. Cuando se usa este parámetro, el parámetro RecordTo 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.

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 cmdlet de PowerShell Get-MpPerformanceReport. Analiza e informa sobre Microsoft Defender grabación de rendimiento del antivirus.

Sintaxis: Get-MpPerformanceReport

Get-MpPerformanceReport [-Path] <String>
    [-TopScans [<Int32>]]
    [-TopPaths [<Int32>] [-TopPathsDepth [<Int32>]]]
            [-TopScansPerPath [<Int32>]]
            [-TopFilesPerPath [<Int32>]
                    [-TopScansPerFilePerPath [<Int32>]]
                    ]
            [-TopExtensionsPerPath [<Int32>]
                    [-TopScansPerExtensionPerPath [<Int32>]]
                    ]
            [-TopProcessesPerPath [<Int32>]
                    [-TopScansPerProcessPerPath [<Int32>]]
                    ]
            ]
    [-TopFiles [<Int32>]
            [-TopScansPerFile [<Int32>]]
            [-TopProcessesPerFile [<Int32>]
                    [-TopScansPerProcessPerFile [<Int32>]]
                    ]
            ]
    [-TopExtensions [<Int32>]
            [-TopScansPerExtension [<Int32>]
            [-TopPathsPerExtension [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerExtension [<Int32>]]
                    ]
            [-TopProcessesPerExtension [<Int32>]
                    [-TopScansPerProcessPerExtension [<Int32>]]
                    ]
            [-TopFilesPerExtension [<Int32>]
                    [-TopScansPerFilePerExtension [<Int32>]]
                    ]
            ]
    [-TopProcesses [<Int32>]
            [-TopScansPerProcess [<Int32>]]
            [-TopExtensionsPerProcess [<Int32>]
                    [-TopScansPerExtensionPerProcess [<Int32>]]
                    ]
            [-TopPathsPerProcess [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerProcess [<Int32>]]
                    ]
            [-TopFilesPerProcess [<Int32>]
                    [-TopScansPerFilePerProcess [<Int32>]]
                    ]
            ]
    [-MinDuration <String>]
    [-Raw]

Descripción: Get-MpPerformanceReport

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

El analizador de rendimiento proporciona información sobre los archivos problemáticos que podrían provocar una degradación en el rendimiento de Microsoft Defender Antivirus. Esta herramienta se proporciona "AS IS" 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 Analizador de rendimiento documentos.

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 de -Raw en el comando anterior 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, "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,1234 ms, 0,1us o 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 superiores 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 cuántos exámenes superiores de salida hay para cada archivo superior de 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 de salida hay para 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 el número de exámenes superiores para la salida de 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

Recursos adicionales

Si busca información relacionada con antivirus para otras plataformas, consulte:

Sugerencia

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