Analyseur de performances pour Antivirus Microsoft Defender

S’applique à

Plateformes

  • Windows

Configuration requise

L’analyseur de performances de l’antivirus Microsoft Defender présente les prérequis suivants :

  • Versions de Windows prises en charge :
  • Version de la plateforme : 4.18.2108.7 ou version ultérieure
  • Version de PowerShell : PowerShell Version 5.1, PowerShell ISE, PowerShell distant (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)

Qu’est-ce que l’analyseur de performances de l’Antivirus Microsoft Defender ?

Si les appareils exécutant l’Antivirus Microsoft Defender rencontrent des problèmes de performances, vous pouvez utiliser l’analyseur de performances pour améliorer les performances de l’Antivirus Microsoft Defender. L’analyseur de performances est un outil en ligne de commande PowerShell qui vous aide à déterminer les fichiers, les extensions de fichiers et les processus susceptibles de provoquer des problèmes de performances sur des points de terminaison individuels pendant les analyses antivirus. Vous pouvez utiliser les informations collectées par l’analyseur de performances pour évaluer les problèmes de performances et appliquer des actions de correction.

À l’instar de la façon dont les mécaniciens effectuent des diagnostics et des services sur un véhicule qui rencontre des problèmes de performances, l’analyseur de performances peut vous aider à améliorer les performances de l’antivirus Microsoft Defender.

Image de l’analyseur de performances conceptuel pour Antivirus Microsoft Defender.

Voici quelques options à analyser :

  • Principaux chemins d’accès qui ont un impact sur la durée d’analyse
  • Principaux fichiers qui ont un impact sur la durée de l’analyse
  • Principaux processus qui ont un impact sur le temps d’analyse
  • Principales extensions de fichier qui ont un impact sur la durée de l’analyse
  • Combinaisons : par exemple :
    • fichiers principaux par extension
    • principaux chemins d’accès par extension
    • principaux processus par chemin d’accès
    • principales analyses par fichier
    • principales analyses par fichier et par processus

Exécution de l’analyseur de performances

Le processus général d’exécution de l’analyseur de performances implique les étapes suivantes :

  1. Exécutez l’analyseur de performances pour collecter un enregistrement des performances des événements antivirus Microsoft Defender sur le point de terminaison.

    Remarque

    Les performances des événements de l’Antivirus Microsoft Defender de ce type Microsoft-Antimalware-Engine sont enregistrées via l’analyseur de performances.

  2. Analysez les résultats de l’analyse à l’aide de différents rapports d’enregistrement.

Utilisation de l’analyseur de performances

Pour démarrer l’enregistrement des événements système, ouvrez PowerShell en mode administrateur et effectuez les étapes suivantes :

  1. Exécutez la commande suivante pour démarrer l’enregistrement :

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    where -RecordTo parameter spécifie l’emplacement complet du chemin d’accès dans lequel le fichier de trace est enregistré. Pour plus d’informations sur les applets de commande, consultez Applets de commande de l’Antivirus Microsoft Defender.

  2. Si des processus ou des services sont considérés comme ayant une incidence sur les performances, reproduisez la situation en effectuant les tâches pertinentes.

  3. Appuyez sur Entrée pour arrêter et enregistrer l’enregistrement, ou sur Ctrl+C pour annuler l’enregistrement.

  4. Analysez les résultats à l’aide du paramètre de l’analyseur de Get-MpPerformanceReport performances. Par exemple, lors de l’exécution de la commande Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10, l’utilisateur reçoit la liste des dix premières analyses pour les trois premiers fichiers affectant les performances.

    Pour plus d’informations sur les paramètres et options de ligne de commande, consultez New-MpPerformanceRecording et Get-MpPerformanceReport.

Remarque

Lors de l’exécution d’un enregistrement, si vous obtenez l’erreur « Impossible de démarrer l’enregistrement des performances, car Windows Performance Recorder est déjà en cours d’enregistrement », exécutez la commande suivante pour arrêter la trace existante avec la nouvelle commande : wpr -cancel -instancename MSFT_MpPerformanceRecording.

Données et informations sur le réglage des performances

En fonction de la requête, l’utilisateur peut afficher les données relatives au nombre d’analyses, à la durée (total/min/moyenne/max/médiane), au chemin, au processus et à la raison de l’analyse. L’image suivante montre un exemple de sortie pour une requête simple des 10 premiers fichiers pour l’impact de l’analyse.

Exemple de sortie pour une requête TopFiles de base

Exportation et conversion en CSV et JSON

Les résultats de l’analyseur de performances peuvent également être exportés et convertis en fichier CSV ou JSON. Cet article inclut des exemples qui décrivent le processus d'« exportation » et de « conversion » par le biais d’un exemple de code.

À compter de la version 4.18.2206.Xde Defender , les utilisateurs peuvent afficher les informations de raison de l’analyse ignorer sous SkipReason la colonne . Les valeurs possibles sont les suivantes :

  • Non ignoré
  • Optimisation (généralement pour des raisons de performances)
  • Utilisateur ignoré (généralement en raison d’exclusions de jeu d’utilisateurs)

Pour CSV

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

Pour JSON

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

Pour garantir une sortie lisible par l’ordinateur pour l’exportation avec d’autres systèmes de traitement des données, il est recommandé d’utiliser -Raw le paramètre pour Get-MpPerformanceReport. Pour plus d’informations, consultez les sections suivantes.

Informations de référence sur PowerShell

Deux nouvelles applets de commande PowerShell sont utilisées pour optimiser les performances de l’Antivirus Microsoft Defender :

New-MpPerformanceRecording

La section suivante décrit la référence pour la nouvelle applet de commande New-MpPerformanceRecordingPowerShell . Cette applet de commande collecte un enregistrement des performances des analyses de l’Antivirus Microsoft Defender.

Syntaxe : New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Description : New-MpPerformanceRecording

L’applet New-MpPerformanceRecording de commande collecte un enregistrement des performances des analyses de l’Antivirus Microsoft Defender. Ces enregistrements de performances contiennent des événements de processus du noyau Microsoft-Antimalware-Engine et NT et peuvent être analysés après la collecte à l’aide de l’applet de commande Get-MpPerformanceReport .

Cette New-MpPerformanceRecording applet de commande fournit un aperçu des fichiers problématiques susceptibles d’entraîner une dégradation des performances de l’Antivirus Microsoft Defender. Cet outil est fourni « tel qu’il est » et n’est pas destiné à fournir des suggestions sur les exclusions. Les exclusions peuvent réduire le niveau de protection sur vos points de terminaison. Les exclusions, le cas échéant, doivent être définies avec prudence.

Pour plus d’informations sur l’analyseur de performances, consultez la documentation analyseur de performances .

Importante

Cette applet de commande nécessite des privilèges d’administrateur élevés.

Exemples : New-MpPerformanceRecording

Exemple 1 : Collecter un enregistrement de performances et l’enregistrer
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

La commande collecte un enregistrement de performances et l’enregistre dans le chemin spécifié : .\Defender-scans.etl.

Exemple 2 : Collecter un enregistrement de performances pour une session PowerShell distante
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

La commande collecte un enregistrement des performances sur Server02 (comme spécifié par l’argument $s du paramètre Session) et l’enregistre dans le chemin d’accès spécifié : C:\LocalPathOnServer02\trace.etl sur Server02.

Paramètres : New-MpPerformanceRecording

-RecordTo

Spécifie l’emplacement dans lequel enregistrer l’enregistrement des performances de Microsoft Defender Antimalware.

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

Spécifie l’objet PSSession dans lequel créer et enregistrer l’enregistrement des performances de l’Antivirus Microsoft Defender. Lorsque vous utilisez cette commande, le RecordTo paramètre fait référence au chemin d’accès local sur l’ordinateur distant. Disponible avec la version de la plateforme Defender et les versions 4.18.2201.10 ultérieures.

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

Get-MpPerformanceReport

La section suivante décrit l’applet de Get-MpPerformanceReport commande PowerShell. Analyse et signale l’enregistrement des performances de l’Antivirus Microsoft Defender.

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

Description : Get-MpPerformanceReport

L’applet Get-MpPerformanceReport de commande analyse un enregistrement des performances de l’Antivirus Microsoft Defender précédemment collecté (New-MpPerformanceRecording) et signale les chemins d’accès aux fichiers, les extensions de fichier et les processus qui ont le plus grand impact sur les analyses de l’Antivirus Microsoft Defender.

L’analyseur de performances fournit des informations sur les fichiers problématiques susceptibles d’entraîner une dégradation des performances de l’Antivirus Microsoft Defender. Cet outil est fourni « tel qu’il est » et n’est pas destiné à fournir des suggestions sur les exclusions. Les exclusions peuvent réduire le niveau de protection sur vos points de terminaison. Les exclusions, le cas échéant, doivent être définies avec prudence.

Pour plus d’informations sur l’analyseur de performances, consultez la documentation analyseur de performances .

Versions de système d’exploitation prises en charge :

Windows version 10 et ultérieures.

Remarque

Cette fonctionnalité est disponible à partir de la version 4.18.2108.X de la plateforme et ultérieure.

Exemples : Get-MpPerformanceReport

Exemple 1 : Requête unique
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Exemple 2 : Requêtes multiples
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Exemple 3 : requêtes imbriquées
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Exemple 4 : Utilisation du paramètre -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Exemple 5 : Utilisation du paramètre -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

L’utilisation -Raw de dans la commande spécifie que la sortie doit être lisible par l’ordinateur et facilement convertible en formats de sérialisation tels que JSON.

Paramètres : Get-MpPerformanceReport

-TopPaths

Demande un rapport top-paths et spécifie le nombre de chemins d’accès principaux à la sortie, triés par durée. Agrège les analyses en fonction de leur chemin d’accès et de leur répertoire. L’utilisateur peut spécifier le nombre de répertoires à afficher sur chaque niveau et la profondeur de la sélection.

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

Spécifie la profondeur récursive utilisée pour regrouper et afficher les résultats du chemin agrégé. Par exemple C:\ , correspond à une profondeur de 1 et C:\Users\Foo correspond à une profondeur de 3.

Cet indicateur peut accompagner toutes les autres options de chemin d’accès supérieur. S’il est manquant, une valeur par défaut de 3 est supposée. La valeur ne peut pas être 0.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
flag définition
-TopScansPerPath Spécifie le nombre d’analyses principales à spécifier pour chaque chemin d’accès supérieur.
-TopFilesPerPath Spécifie le nombre de fichiers principaux à spécifier pour chaque chemin d’accès supérieur.
-TopScansPerFilePerPath Spécifie le nombre d’analyses principales à générer pour chaque fichier supérieur pour chaque chemin d’accès supérieur, trié par « Durée »
-TopExtensionsPerPath Spécifie le nombre d’extensions principales à générer pour chaque chemin d’accès supérieur
-TopScansPerExtensionPerPath Spécifie le nombre d’analyses principales à générer pour chaque extension supérieure pour chaque chemin d’accès supérieur
-TopProcessesPerPath Spécifie le nombre de processus principaux à générer pour chaque chemin d’accès supérieur
-TopScansPerProcessPerPath Spécifie le nombre d’analyses principales à générer pour chaque processus supérieur pour chaque chemin d’accès supérieur
-TopPathsPerExtension Spécifie le nombre de chemins d’accès principaux à la sortie pour chaque extension supérieure
-TopScansPerPathPerExtension Spécifie le nombre d’analyses principales à générer pour chaque chemin d’accès supérieur pour chaque extension supérieure
-TopPathsPerProcess Spécifie le nombre de chemins d’accès principaux à la sortie pour chaque processus supérieur
-TopScansPerPathPerProcess Spécifie le nombre d’analyses principales à générer pour chaque chemin d’accès supérieur pour chaque processus supérieur
-MinDuration

Spécifie la durée minimale des analyses ou des durées totales d’analyse des fichiers, extensions et processus inclus dans le rapport ; accepte des valeurs telles que 0.1234567sec, 0.1234ms, 0.1usou un TimeSpan valide.

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

Spécifie le ou les chemins d’accès à un ou plusieurs emplacements.

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

Spécifie que la sortie de l’enregistrement des performances doit être lisible par l’ordinateur et facilement convertible en formats de sérialisation tels que JSON (par exemple, via la commande Convert-to-JSON). Cette configuration est recommandée pour les utilisateurs intéressés par le traitement par lots avec d’autres systèmes de traitement des données.

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

Spécifie le nombre d’extensions principales à générer, triées par durée.

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

Spécifie le nombre d’extensions principales à générer pour chaque processus supérieur, triés par durée.

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

Demande un rapport top-files et spécifie le nombre de fichiers principaux à générer, triés par durée.

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

Spécifie le nombre de fichiers principaux à générer pour chaque extension supérieure, triés par durée.

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

Spécifie le nombre de fichiers principaux à générer pour chaque processus principal, triés par durée.

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

Demande un rapport de processus principaux et spécifie le nombre de processus principaux à générer, triés par durée.

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

Spécifie le nombre de processus principaux à générer pour chaque extension supérieure, trié par durée.

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

Spécifie le nombre de processus principaux à générer pour chaque fichier supérieur, trié par durée.

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

Demande un rapport de top-scans et spécifie le nombre d’analyses principales à générer, triées par durée.

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

Spécifie le nombre d’analyses principales à générer pour chaque extension supérieure, triée par durée.

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

Spécifie le nombre d’analyses principales à générer pour chaque extension supérieure pour chaque processus supérieur, triés par durée.

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

Spécifie le nombre d’analyses principales à générer pour chaque fichier supérieur, triés par durée.

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

Spécifie le nombre d’analyses principales à générer pour chaque fichier supérieur pour chaque extension supérieure, triée par durée.

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

Spécifie le nombre d’analyses principales pour la sortie de chaque fichier supérieur pour chaque processus supérieur, triées par durée.

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

Spécifie le nombre d’analyses principales à générer pour chaque processus principal dans le rapport Processus principaux, triés par durée.

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

Spécifie le nombre d’analyses principales pour la sortie de chaque processus supérieur pour chaque extension supérieure, triées par durée.

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

Spécifie le nombre d’analyses principales de sortie pour chaque processus supérieur pour chaque fichier supérieur, triés par durée.

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

Conseil

Voulez-vous en savoir plus ? Collaborez avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.