Freigeben über


Leistungsanalyse für Microsoft Defender Antivirus

Gilt für

Plattformen

  • Windows

Anforderungen

Die Microsoft Defender Antivirus-Leistungsanalyse erfüllt die folgenden Voraussetzungen:

  • Unterstützte Windows-Versionen:
  • 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.

Image der konzeptionellen Leistungsanalyse für Microsoft Defender Antivirus.

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:

  1. 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.

  2. 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:

  1. 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.

  2. Wenn es Prozesse oder Dienste gibt, die die Leistung beeinträchtigen, reproduzieren Sie die Situation, indem Sie die entsprechenden Aufgaben ausführen.

  3. Drücken Sie die EINGABETASTE , um die Aufzeichnung zu beenden und zu speichern, oder STRG+C , um die Aufzeichnung abzubrechen.

  4. Analysieren Sie die Ergebnisse mit dem Parameter des Get-MpPerformanceReport Leistungsanalysetools. Beispielsweise erhält der Benutzer beim Ausführen des Befehls Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10eine 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.

Beispielausgabe für eine einfache TopFiles-Abfrage

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.Xkö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-MpPerformanceReportzu 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-MpPerformanceRecordingbeschrieben. 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.1usoder 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.