Analyseur de performances pour Antivirus Microsoft Defender
S’applique à
- Microsoft Defender pour point de terminaison Plan 1
- Microsoft Defender pour point de terminaison Plan 2
- Antivirus Microsoft Defender
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 :
- Windows 10
- Windows 11
- Windows Server 2016 et versions ultérieures
- Windows Server 2012 R2 (intégré à l’aide d’une solution unifiée moderne)
- Pour Windows Server 2012 R2, windows ADK (Windows Performance Toolkit) est nécessaire. Télécharger et installer Windows ADK
- 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.
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 :
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.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 :
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.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.
Appuyez sur Entrée pour arrêter et enregistrer l’enregistrement, ou sur Ctrl+C pour annuler l’enregistrement.
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 commandeGet-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.
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.X
de 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-MpPerformanceRecording
PowerShell . 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.1us
ou 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.