Leistungsanalyse für Microsoft Defender Antivirus
Gilt für
- Microsoft Defender für Endpunkt Plan 1
- Microsoft Defender für Endpunkt Plan 2
- Microsoft Defender Antivirus
Plattformen
- Windows
Anforderungen
Die Microsoft Defender Antivirus-Leistungsanalyse erfüllt die folgenden Voraussetzungen:
- Unterstützte Windows-Versionen:
- Windows 10
- Windows 11
- Windows Server 2016 und höher
- Windows Server 2012 R2 (beim Onboarding mithilfe einer modernen, einheitlichen Lösung)
- Für Windows Server 2012 R2 wird das Windows ADK (Windows Performance Toolkit) benötigt. Herunterladen und Installieren des Windows ADK
- Plattformversion:
4.18.2108.7
oder höher - PowerShell-Version: PowerShell Version 5.1, PowerShell ISE, Remote-PowerShell (4.18.2201.10 und höher), PowerShell 7.x (4.18.2201.10 und höher)
Was ist das Microsoft Defender Antivirus-Leistungsanalysetool?
Wenn auf Geräten, auf denen Microsoft Defender Antivirus ausgeführt wird, Leistungsprobleme auftreten, können Sie die Leistungsanalyse verwenden, um die Leistung von Microsoft Defender Antivirus zu verbessern. Die Leistungsanalyse ist ein PowerShell-Befehlszeilentool, mit dem Sie Dateien, Dateierweiterungen und Prozesse ermitteln können, die bei Antivirenscans zu Leistungsproblemen auf einzelnen Endpunkten führen können. Sie können die von der Leistungsanalyse gesammelten Informationen verwenden, um Leistungsprobleme zu bewerten und Abhilfemaßnahmen anzuwenden.
Ähnlich wie die Art und Weise, wie Mechaniker Diagnosen und Dienste für ein Fahrzeug durchführen, das Leistungsprobleme aufweist, kann das Leistungsanalysetool Ihnen helfen, die Leistung von Microsoft Defender Antivirus zu verbessern.
Folgende Optionen können analysiert werden:
- Die wichtigsten Pfade, die sich auf die Überprüfungszeit auswirken
- Die wichtigsten Dateien, die sich auf die Überprüfungszeit auswirken
- Wichtigste Prozesse, die sich auf die Überprüfungszeit auswirken
- Die wichtigsten Dateierweiterungen, die sich auf die Überprüfungszeit auswirken
- Kombinationen – z. B.:
- Top-Dateien pro Erweiterung
- Top-Pfade pro Erweiterung
- Top-Prozesse pro Pfad
- Top-Scans pro Datei
- Top-Scans pro Datei und Prozess
Ausführen der Leistungsanalyse
Der allgemeine Prozess zum Ausführen der Leistungsanalyse umfasst die folgenden Schritte:
Führen Sie die Leistungsanalyse aus, um eine Leistungsaufzeichnung von Microsoft Defender Antivirus-Ereignissen auf dem Endpunkt zu erfassen.
Hinweis
Die Leistung von Microsoft Defender Antivirus-Ereignissen des Typs
Microsoft-Antimalware-Engine
wird über die Leistungsanalyse aufgezeichnet.Analysieren Sie die Scanergebnisse mithilfe verschiedener Aufzeichnungsberichte.
Verwenden der Leistungsanalyse
Um die Aufzeichnung von Systemereignissen zu starten, öffnen Sie PowerShell im Administratormodus, und führen Sie die folgenden Schritte aus:
Führen Sie den folgenden Befehl aus, um die Aufzeichnung zu starten:
New-MpPerformanceRecording -RecordTo <recording.etl>
Dabei
-RecordTo
gibt der Parameter den vollständigen Pfad an, an dem die Ablaufverfolgungsdatei gespeichert wird. Weitere Cmdlet-Informationen finden Sie unter Microsoft Defender Antivirus-Cmdlets.Wenn es Prozesse oder Dienste gibt, die die Leistung beeinträchtigen, reproduzieren Sie die Situation, indem Sie die entsprechenden Aufgaben ausführen.
Drücken Sie die EINGABETASTE , um die Aufzeichnung zu beenden und zu speichern, oder STRG+C , um die Aufzeichnung abzubrechen.
Analysieren Sie die Ergebnisse mit dem Parameter des
Get-MpPerformanceReport
Leistungsanalysetools. Beispielsweise erhält der Benutzer beim Ausführen des BefehlsGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
eine Liste der zehn wichtigsten Scans für die drei wichtigsten Dateien, die sich auf die Leistung auswirken.Weitere Informationen zu Befehlszeilenparametern und -optionen finden Sie unter New-MpPerformanceRecording und Get-MpPerformanceReport.
Hinweis
Wenn beim Ausführen einer Aufzeichnung der Fehler "Leistungsaufzeichnung kann nicht gestartet werden, weil die Windows-Leistungsaufzeichnung bereits aufgezeichnet wird" angezeigt wird, führen Sie den folgenden Befehl aus, um die vorhandene Ablaufverfolgung mit dem neuen Befehl zu beenden: wpr -cancel -instancename MSFT_MpPerformanceRecording
.
Daten und Informationen zur Leistungsoptimierung
Basierend auf der Abfrage kann der Benutzer Daten zu Scananzahl, Dauer (Gesamt/Min./Mittelwert/Max./Median), Pfad, Prozess und Grund für die Überprüfung anzeigen. Die folgende Abbildung zeigt eine Beispielausgabe für eine einfache Abfrage der 10 wichtigsten Dateien für die Überprüfungsauswirkung.
Exportieren und Konvertieren in CSV und JSON
Die Ergebnisse der Leistungsanalyse können auch exportiert und in eine CSV- oder JSON-Datei konvertiert werden. Dieser Artikel enthält Beispiele, die den Prozess des "Exportierens" und "Konvertierens" durch Beispielcode beschreiben.
Ab der Defender-Version 4.18.2206.X
können Benutzer Informationen zum Scan-Skip-Grund unter der SkipReason
Spalte anzeigen. Die folgenden Werte sind möglich:
- Nicht übersprungen
- Optimierung (in der Regel aus Leistungsgründen)
- Benutzer übersprungen (in der Regel aufgrund von Benutzersatzausschlüssen)
Für CSV
- So exportieren Sie folgendes:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
- Konvertieren:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation
Für JSON
- Konvertieren:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1
Um eine maschinenlesbare Ausgabe für den Export mit anderen Datenverarbeitungssystemen sicherzustellen, wird empfohlen, den Parameter für Get-MpPerformanceReport
zu verwenden-Raw
. Weitere Informationen finden Sie in den folgenden Abschnitten.
PowerShell-Referenz
Es gibt zwei neue PowerShell-Cmdlets, die zum Optimieren der Leistung von Microsoft Defender Antivirus verwendet werden:
New-MpPerformanceRecording
Im folgenden Abschnitt wird die Referenz für das neue PowerShell-Cmdlet New-MpPerformanceRecording
beschrieben. Dieses Cmdlet erfasst eine Leistungsaufzeichnung von Microsoft Defender Antivirus-Überprüfungen.
Syntax: New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
Beschreibung: New-MpPerformanceRecording
Das New-MpPerformanceRecording
Cmdlet erfasst eine Leistungsaufzeichnung von Microsoft Defender Antivirus-Überprüfungen. Diese Leistungsaufzeichnungen enthalten Microsoft-Antimalware-Engine- und NT-Kernelprozessereignisse und können nach der Erfassung mithilfe des Cmdlets Get-MpPerformanceReport analysiert werden.
Dieses New-MpPerformanceRecording
Cmdlet bietet einen Einblick in problematische Dateien, die zu einer Beeinträchtigung der Leistung von Microsoft Defender Antivirus führen können. Dieses Tool wird unverändert bereitgestellt und soll keine Vorschläge zu Ausschlüssen bereitstellen. Ausschlüsse können das Schutzniveau für Ihre Endpunkte verringern. Ausschlüsse, falls vorhanden, sollten mit Vorsicht definiert werden.
Weitere Informationen zur Leistungsanalyse finden Sie in der Dokumentation zur Leistungsanalyse .
Wichtig
Dieses Cmdlet erfordert erhöhte Administratorrechte.
Beispiele: New-MpPerformanceRecording
Beispiel 1: Erfassen und Speichern einer Leistungsaufzeichnung
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
Der Befehl sammelt eine Leistungsaufzeichnung und speichert sie im angegebenen Pfad: .\Defender-scans.etl
.
Beispiel 2: Erfassen einer Leistungsaufzeichnung für eine PowerShell-Remotesitzung
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
Der Befehl sammelt eine Leistungsaufzeichnung für Server02
(wie durch argument $s des Parameters Session angegeben) und speichert sie im angegebenen Pfad: C:\LocalPathOnServer02\trace.etl
in Server02
.
Parameter: New-MpPerformanceRecording
-RecordTo
Gibt den Speicherort an, an dem die Leistungsaufzeichnung von Microsoft Defender Antimalware gespeichert werden soll.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Sitzung
Gibt das PSSession
Objekt an, in dem die Leistungsaufzeichnung von Microsoft Defender Antivirus erstellt und gespeichert werden soll. Wenn Sie diesen Befehl verwenden, verweist der RecordTo
Parameter auf den lokalen Pfad auf dem Remotecomputer. Verfügbar mit Defender-Plattformversion 4.18.2201.10
und höher.
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
Im folgenden Abschnitt wird das Get-MpPerformanceReport
PowerShell-Cmdlet beschrieben. Analysiert die Leistungsaufzeichnung von Microsoft Defender Antivirus und meldet sie.
Syntax: 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>]
Beschreibung: Get-MpPerformanceReport
Das Get-MpPerformanceReport
Cmdlet analysiert eine zuvor erfasste Microsoft Defender Antivirus-Leistungsaufzeichnung (New-MpPerformanceRecording) und meldet die Dateipfade, Dateierweiterungen und Prozesse, die die größten Auswirkungen auf Microsoft Defender Antivirus-Überprüfungen verursachen.
Die Leistungsanalyse bietet einen Einblick in problematische Dateien, die zu einer Beeinträchtigung der Leistung von Microsoft Defender Antivirus führen können. Dieses Tool wird unverändert bereitgestellt und soll keine Vorschläge zu Ausschlüssen bereitstellen. Ausschlüsse können das Schutzniveau für Ihre Endpunkte verringern. Ausschlüsse, falls vorhanden, sollten mit Vorsicht definiert werden.
Weitere Informationen zur Leistungsanalyse finden Sie in der Dokumentation zur Leistungsanalyse .
Unterstützte Betriebssystemversionen:
Windows Version 10 und höher.
Hinweis
Dieses Feature ist ab Plattformversion 4.18.2108.X
und höher verfügbar.
Beispiele: Get-MpPerformanceReport
Beispiel 1: Einzelne Abfrage
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Beispiel 2: Mehrere Abfragen
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Beispiel 3: Geschachtelte Abfragen
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Beispiel 4: Verwenden des Parameters "-MinDuration"
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Beispiel 5: Verwenden des Parameters "-Raw"
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
Die Verwendung -Raw
von im -Befehl gibt an, dass die Ausgabe maschinenlesbar und leicht in Serialisierungsformate wie JSON konvertiert werden soll.
Parameter: Get-MpPerformanceReport
-TopPaths
Fordert einen Top-Paths-Bericht an und gibt an, wie viele oberste Pfade ausgegeben werden sollen, sortiert nach Dauer. Aggregiert die Überprüfungen basierend auf ihrem Pfad und Verzeichnis. Der Benutzer kann angeben, wie viele Verzeichnisse auf jeder Ebene angezeigt werden sollen, und die Tiefe der Auswahl.
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
Gibt rekursive Tiefe an, die zum Gruppieren und Anzeigen aggregierter Pfadergebnisse verwendet wird. Beispielsweise C:\
entspricht einer Tiefe von 1 und C:\Users\Foo
einer Tiefe von 3.
Dieses Flag kann alle anderen Top Path-Optionen begleiten. Wenn nicht vorhanden, wird ein Standardwert von 3 angenommen. Der Wert darf nicht 0 sein.
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
Flag | Definition |
---|---|
-TopScansPerPath |
Gibt an, wie viele top-Scans für jeden obersten Pfad angegeben werden sollen. |
-TopFilesPerPath |
Gibt an, wie viele top-Dateien für jeden obersten Pfad angegeben werden sollen. |
-TopScansPerFilePerPath |
Gibt an, wie viele top-Scans für jede oberste Datei für jeden obersten Pfad ausgegeben werden sollen, sortiert nach "Dauer". |
-TopExtensionsPerPath |
Gibt an, wie viele top-Erweiterungen für die einzelnen obersten Pfade ausgegeben werden sollen. |
-TopScansPerExtensionPerPath |
Gibt an, wie viele top-Scans für jede top-Erweiterung für jeden obersten Pfad ausgegeben werden sollen. |
-TopProcessesPerPath |
Gibt an, wie viele top-Prozesse für die einzelnen obersten Pfade ausgegeben werden sollen. |
-TopScansPerProcessPerPath |
Gibt an, wie viele top-Scans für jeden top-Prozess für jeden obersten Pfad ausgegeben werden sollen. |
-TopPathsPerExtension |
Gibt an, wie viele oberste Pfade für jede top-Erweiterung ausgegeben werden sollen. |
-TopScansPerPathPerExtension |
Gibt an, wie viele top-Scans für jeden obersten Pfad für jede top-Erweiterung ausgegeben werden sollen. |
-TopPathsPerProcess |
Gibt an, wie viele oberste Pfade für jeden top-Prozess ausgegeben werden sollen. |
-TopScansPerPathPerProcess |
Gibt an, wie viele top-Scans für jeden obersten Pfad für jeden top-Prozess ausgegeben werden sollen. |
-MinDuration
Gibt die Mindestdauer aller Überprüfungen oder die Gesamtüberprüfungsdauer von Dateien, Erweiterungen und Prozessen an, die im Bericht enthalten sind; akzeptiert Werte wie 0.1234567sec
, 0.1234ms
, 0.1us
oder einen gültigen TimeSpan.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Pfad
Gibt den Pfad oder die Pfade zu einem oder mehreren Speicherorten an.
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Roh
Gibt an, dass die Ausgabe der Leistungsaufzeichnung maschinenlesbar und problemlos in Serialisierungsformate wie JSON konvertiert werden soll (z. B. über den Befehl Convert-to-JSON). Diese Konfiguration wird für Benutzer empfohlen, die an der Batchverarbeitung mit anderen Datenverarbeitungssystemen interessiert sind.
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions
Gibt an, wie viele top-Erweiterungen ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
Gibt an, wie viele top-Erweiterungen für jeden top-Prozess ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles
Fordert einen Bericht mit den wichtigsten Dateien an und gibt an, wie viele top-Dateien ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
Gibt an, wie viele top-Dateien für jede oberste Erweiterung ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
Gibt an, wie viele top-Dateien für jeden top-Prozess ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses
Fordert einen Bericht mit den wichtigsten Prozessen an und gibt an, wie viele der wichtigsten Prozesse ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension
Gibt an, wie viele top-Prozesse für jede top-Erweiterung ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
Gibt an, wie viele top-Prozesse für jede top-Datei ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
Fordert einen Bericht mit den wichtigsten Scans an und gibt an, wie viele top-Scans ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
Gibt an, wie viele top-Scans für jede top-Erweiterung ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
Gibt an, wie viele top-Scans für jede top-Erweiterung für jeden top-Prozess ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
Gibt an, wie viele top-Scans für jede top-Datei ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
Gibt an, wie viele top-Scans für jede top-Datei für jede top-Erweiterung ausgegeben werden sollen, sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
Gibt an, wie viele top-Scans für die Ausgabe für jede top-Datei für jeden top-Prozess sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
Gibt an, wie viele top-Scans für jeden top-Prozess im Bericht "Top Processes" nach Dauer sortiert ausgegeben werden sollen.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
Gibt an, wie viele top-Scans für die Ausgabe für jeden top-Prozess für jede top-Erweiterung sortiert nach Dauer.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
Gibt an, wie viele top-Scans für die Ausgabe für jeden top-Prozess für jede top-Datei nach Dauer sortiert sind.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Tipp
Möchten Sie mehr erfahren? Wenden Sie sich an die Microsoft-Sicherheitscommunity in unserer Tech Community: Microsoft Defender for Endpoint Tech Community.