Leistungsanalyse für Microsoft Defender Antivirus

Gilt für

Plattformen

  • Windows

Anforderungen

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

  • Unterstützte Windows-Versionen: Windows 10, Windows 11, Windows 2012 R2 mit der modernen einheitlichen Lösung und Windows Server 2016 und höher
  • 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 Microsoft Defender Antivirus-Leistungsanalyse?

Wenn auf Computern, 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 für Microsoft Defender Antivirus in Windows 10, Windows 11 und Windows Server 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 Mechaniker Diagnose und Service auf einem Fahrzeug mit Leistungsproblemen ausführen, kann die Leistungsanalyse Ihnen helfen, die Leistung von Defender Antivirus zu verbessern.

Konzeptionelles Leistungsanalyseimage für Microsoft Defender Antivirus. Das Diagramm bezieht sich auf: Microsoft Defender Leistungsanalyse, Defender-Leistungsanalyse, Get-MpPerformanceRepor, New-MpPerformanceRecording, Windows Defender, Microsoft Defender, Microsoft Windows 10, Microsoft Defender Antivirus, Micro Soft Windows 11, Windows Antivirus, Microsoft Antivirus, Windows Defender Antivirus, Windows 10 Antivirus, Microsoft Windows Defender, Leistung Fenster.

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 Microsoft Defender Antivirus-Ereignisse vom Typ Microsoft-Antimalware-Engine werden über das Leistungsanalysetool aufgezeichnet.

  2. Analysieren Sie die Scanergebnisse mithilfe verschiedener Aufzeichnungsberichte.

Verwenden der Leistungsanalyse

Um die Aufzeichnung von Systemereignissen zu starten, öffnen Sie PowerShell im Verwaltungsmodus, 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

Zusätzliche Funktionalität: Exportieren und Konvertieren in CSV und JSON

Die Ergebnisse der Leistungsanalyse können auch exportiert und in eine CSV- oder JSON-Datei konvertiert werden. Beispiele, die den Prozess des "Exportierens" und "Konvertierens" durch Beispielcodes beschreiben, finden Sie in den folgenden Abschnitten.

Ab der Defender-Version 4.18.2206.Xkönnen Benutzer Informationen zum Scan-Skip-Grund in der Spalte "SkipReason" 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-MpPerformanceRecording beschrieben. Dieses Cmdlet erfasst eine Leistungsaufzeichnung von Microsoft Defender Antivirusscans.

Syntax: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Beschreibung: New-MpPerformanceRecording

Das New-MpPerformanceRecording Cmdlet erfasst eine Leistungsaufzeichnung von Microsoft Defender Antivirusscans. 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 ist nicht dazu gedacht, Vorschläge zu Ausschlüssen zu liefern. Ausschlüsse können das Schutzniveau für Ihre Endpunkte verringern. Ausschlüsse, falls vorhanden, sollten mit Vorsicht definiert werden.

Weitere Informationen zum Leistungsanalysetool finden Sie in Leistungsanalyse-Dokumentation.

Wichtig

Dieses Cmdlet erfordert erhöhte Administratorrechte.

Beispiele: New-MpPerformanceRecording

Beispiel 1: Erfassen und Speichern einer Leistungsaufzeichnung
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

Mit dem obigen Befehl wird eine Leistungsaufzeichnung erfasst und im angegebenen Pfad gespeichert: .\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 obige Befehl erfasst eine Leistungsaufzeichnung auf Server02 (wie durch argument $s des Parameters Session angegeben) und speichert sie im angegebenen Pfad: C:\LocalPathOnServer02\trace.etl auf Server02.

Parameter: New-MpPerformanceRecording

-RecordTo

Gibt den Speicherort an, an dem die Microsoft Defender Antimalware-Leistungsaufzeichnung 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 Microsoft Defender Antivirus-Leistungsaufzeichnung erstellt und gespeichert werden soll. Wenn Sie diesen Parameter verwenden, verweist der RecordTo-Parameter auf den lokalen Pfad auf dem Remotecomputer. Verfügbar mit Defender-Plattformversion 4.18.2201.10.

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

Get-MpPerformanceReport

Im folgenden Abschnitt wird das powerShell-Cmdlet Get-MpPerformanceReport beschrieben. Analysiert und meldet Microsoft Defender Antivirus-Leistungsaufzeichnung.

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

Beschreibung: Get-MpPerformanceReport

Das Get-MpPerformanceReport Cmdlet analysiert eine zuvor gesammelte Microsoft Defender Antivirus-Leistungsaufzeichnung (New-MpPerformanceRecording) und meldet die Dateipfade, Dateierweiterungen und Prozesse, die die größten Auswirkungen auf Microsoft Defender Antivirusscans haben.

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 "WIE bezusehen" bereitgestellt und ist nicht dazu gedacht, Vorschläge zu Ausschlüssen zu liefern. Ausschlüsse können das Schutzniveau für Ihre Endpunkte verringern. Ausschlüsse, falls vorhanden, sollten mit Vorsicht definiert werden.

Weitere Informationen zum Leistungsanalysetool finden Sie in Leistungsanalyse-Dokumentation.

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 von -Raw im obigen Befehl gibt an, dass die Ausgabe maschinenlesbar und leicht in Serialisierungsformate wie JSON konvertiert werden soll.

Parameter: Get-MpPerformanceReport

-TopPaths

Fordert einen Bericht mit den obersten Pfaden an und gibt an, wie viele top-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 entspricht "C:" einer Tiefe von 1, "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,1234 ms, 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
-Raw

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 top-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 höchsten Überprüfungen 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 oberste 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

Zusätzliche Ressourcen

Informationen zu Antivirensoftware für andere Plattformen finden Sie unter:

Tipp

Möchten Sie mehr erfahren? Engage mit der Microsoft-Sicherheitscommunity in unserer Tech Community: Microsoft Defender for Endpoint Tech Community.