Performance Analyzer voor Microsoft Defender Antivirus

Van toepassing op

Platforms

  • Windows

Vereisten

Microsoft Defender Antivirus Performance Analyzer heeft de volgende vereisten:

  • Ondersteunde Windows-versies: Windows 10, Windows 11, Windows 2012 R2 met de moderne geïntegreerde oplossing en Windows Server 2016 en hoger
  • Platformversie: 4.18.2108.7 of hoger
  • PowerShell-versie: PowerShell-versie 5.1, PowerShell ISE, externe PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)

Wat is Microsoft Defender Antivirus Performance Analyzer?

Als computers met Microsoft Defender Antivirus prestatieproblemen ondervinden, kunt u prestatieanalyse gebruiken om de prestaties van Microsoft Defender Antivirus te verbeteren. Performance Analyzer voor Microsoft Defender Antivirus in Windows 10, Windows 11 en Windows Server is een PowerShell-opdrachtregelprogramma waarmee u bestanden, bestandsextensies en processen kunt bepalen die prestatieproblemen kunnen veroorzaken op afzonderlijke eindpunten tijdens antivirusscans. U kunt de informatie die is verzameld door Performance Analyzer gebruiken om prestatieproblemen te beoordelen en herstelacties toe te passen.

Net als bij de manier waarop monteurs diagnostische gegevens en service uitvoeren op een voertuig met prestatieproblemen, kan prestatieanalyse u helpen de prestaties van Defender Antivirus te verbeteren.

Afbeelding van conceptual performance analyzer voor Microsoft Defender Antivirus. Het diagram is gerelateerd aan: Microsoft Defender performance analyzer, Defender performance analyzer, 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, prestaties Windows.

Enkele opties om te analyseren zijn:

  • Belangrijkste paden die van invloed zijn op de scantijd
  • Belangrijkste bestanden die van invloed zijn op de scantijd
  • Belangrijkste processen die van invloed zijn op de scantijd
  • Belangrijkste bestandsextensies die van invloed zijn op de scantijd
  • Combinaties , bijvoorbeeld:
    • belangrijkste bestanden per extensie
    • bovenste paden per extensie
    • belangrijkste processen per pad
    • bovenste scans per bestand
    • topscans per bestand per proces

Prestatieanalyse uitvoeren

Het proces op hoog niveau voor het uitvoeren van performance analyzer omvat de volgende stappen:

  1. Voer Performance Analyzer uit om een prestatie-opname van Microsoft Defender Antivirus-gebeurtenissen op het eindpunt te verzamelen.

    Opmerking

    Prestaties van Microsoft Defender Antivirusgebeurtenissen van het type Microsoft-Antimalware-Engine worden vastgelegd via de prestatieanalyse.

  2. Analyseer de scanresultaten met verschillende opnamerapporten.

Performance Analyzer gebruiken

Als u systeem gebeurtenissen wilt opnemen, opent u PowerShell in de beheermodus en voert u de volgende stappen uit:

  1. Voer de volgende opdracht uit om de opname te starten:

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    where -RecordTo parameter specificeert de locatie van het volledige pad waarin het traceringsbestand wordt opgeslagen. Zie Microsoft Defender Antivirus-cmdlets voor meer informatie over cmdlets.

  2. Als er processen of diensten zijn die van invloed zijn op de prestaties, reproduceert u de situatie door de relevante taken uit te voeren.

  3. Druk op Enter om de opname te stoppen en op te slaan, of op Ctrl+C om de opname te annuleren.

  4. Analyseer de resultaten met behulp van de parameter van Get-MpPerformanceReport de performance analyzer. Bij het uitvoeren van de opdracht Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10krijgt de gebruiker bijvoorbeeld een lijst met top-tien scans voor de drie belangrijkste bestanden die van invloed zijn op de prestaties.

Zie New-MpPerformanceRecording en Get-MpPerformanceReport voor meer informatie over opdrachtregelparameters en -opties.

Opmerking

Als u bij het uitvoeren van een opname de foutmelding 'Kan prestatie-opname niet starten omdat Windows Performance Recorder al wordt opgenomen' krijgt, voert u de volgende opdracht uit om de bestaande tracering te stoppen met de nieuwe opdracht: wpr -cancel -instancename MSFT_MpPerformanceRecording

Gegevens en informatie over prestaties afstemmen

Op basis van de query kan de gebruiker gegevens bekijken voor het aantal scans, de duur (totaal/min/gemiddelde/max/mediaan), het pad, het proces en de reden voor de scan. In de volgende afbeelding ziet u voorbeelduitvoer voor een eenvoudige query van de bovenste 10 bestanden voor scanimpact.

Voorbeeld van uitvoer voor een eenvoudige TopFiles-query

Aanvullende functionaliteit: exporteren en converteren naar CSV en JSON

De resultaten van de performance analyzer kunnen ook worden geëxporteerd en geconverteerd naar een CSV- of JSON-bestand. Zie de volgende secties voor voorbeelden waarin het proces van 'exporteren' en 'converteren' via voorbeeldcodes wordt beschreven.

Vanaf de Defender-versie 4.18.2206.Xkunnen gebruikers informatie over de reden voor het overslaan van scans bekijken onder de kolom SkipReason. Mogelijke waarden zijn:

  • Niet overgeslagen
  • Optimalisatie (meestal vanwege prestatieredenen)
  • Gebruiker overgeslagen (meestal vanwege uitsluitingen van gebruikerssets)

Voor CSV

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

Voor JSON

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

Om een machineleesbare uitvoer te garanderen voor het exporteren met andere gegevensverwerkingssystemen, wordt aanbevolen om de parameter te gebruiken -Raw voor Get-MpPerformanceReport. Zie de volgende secties voor meer informatie.

PowerShell-verwijzing

Er zijn twee nieuwe PowerShell-cmdlets die worden gebruikt om de prestaties van Microsoft Defender Antivirus af te stemmen:

New-MpPerformanceRecording

In de volgende sectie wordt de verwijzing voor de nieuwe PowerShell-cmdlet New-MpPerformanceRecording beschreven. Deze cmdlet Verzamelt een prestatie-opname van Microsoft Defender Antivirus-scans.

Syntaxis: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Beschrijving: New-MpPerformanceRecording

De New-MpPerformanceRecording cmdlet verzamelt een prestatie-opname van Microsoft Defender Antivirus-scans. Deze prestatie-opnamen bevatten microsoft-Antimalware-Engine- en NT-kernelprocesgebeurtenissen en kunnen na verzameling worden geanalyseerd met behulp van de cmdlet Get-MpPerformanceReport .

Deze New-MpPerformanceRecording cmdlet biedt inzicht in problematische bestanden die een verslechtering van de prestaties van Microsoft Defender Antivirus kunnen veroorzaken. Dit hulpprogramma wordt 'AS IS' geleverd en is niet bedoeld om suggesties te geven over uitsluitingen. Uitsluitingen kunnen het beveiligingsniveau van uw eindpunten verlagen. Uitsluitingen, indien aanwezig, moeten met de nodige voorzichtigheid worden gedefinieerd.

Zie Performance Analyzer docs voor meer informatie over de performance analyzer.

Belangrijk

Voor deze cmdlet zijn verhoogde beheerdersbevoegdheden vereist.

Voorbeelden: New-MpPerformanceRecording

Voorbeeld 1: een prestatie-opname verzamelen en opslaan
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

Met de bovenstaande opdracht wordt een prestatie-opname verzameld en opgeslagen op het opgegeven pad: .\Defender-scans.etl.

Voorbeeld 2: een prestatie-opname verzamelen voor een externe PowerShell-sessie
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

Met de bovenstaande opdracht wordt een prestatie-opname verzameld op Server02 (zoals opgegeven door argument $s van parameter Session) en opgeslagen in het opgegeven pad: C:\LocalPathOnServer02\trace.etl op Server02.

Parameters: New-MpPerformanceRecording

-RecordTo

Hiermee geeft u de locatie op waarop de Microsoft Defender Antimalware-prestatie-opname moet worden opgeslagen.

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

Hiermee geeft u het PSSession-object op waarin de Microsoft Defender Antivirus-prestatieopname moet worden gemaakt en opgeslagen. Wanneer u deze parameter gebruikt, verwijst de parameter RecordTo naar het lokale pad op de externe computer. Beschikbaar met Defender-platformversie 4.18.2201.10.

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

Get-MpPerformanceReport

In de volgende sectie wordt de powershell-cmdlet Get-MpPerformanceReport beschreven. Analyseert en rapporteert over Microsoft Defender antivirusprestaties.

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

Beschrijving: Get-MpPerformanceReport

De Get-MpPerformanceReport cmdlet analyseert een eerder verzamelde Microsoft Defender Antivirus performance recording (New-MpPerformanceRecording) en rapporteert de bestandspaden, bestandsextensies en processen die de grootste impact hebben op Microsoft Defender Antivirus scans.

De prestatieanalyse biedt inzicht in problematische bestanden die een verslechtering van de prestaties van Microsoft Defender Antivirus kunnen veroorzaken. Dit hulpprogramma wordt 'AS IS' geleverd en is niet bedoeld om suggesties te geven over uitsluitingen. Uitsluitingen kunnen het beveiligingsniveau van uw eindpunten verlagen. Uitsluitingen, indien aanwezig, moeten met de nodige voorzichtigheid worden gedefinieerd.

Zie Performance Analyzer docs voor meer informatie over de performance analyzer.

Ondersteunde versies van het besturingssysteem:

Windows versie 10 en hoger.

Opmerking

Deze functie is beschikbaar vanaf platformversie 4.18.2108.X en hoger.

Voorbeelden: Get-MpPerformanceReport

Voorbeeld 1: Enkele query
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Voorbeeld 2: meerdere query's
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Voorbeeld 3: Geneste query's
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Voorbeeld 4: parameter -MinDuration gebruiken
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Voorbeeld 5: parameter -Raw gebruiken
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

Als u -Raw gebruikt in de bovenstaande opdracht, geeft u op dat de uitvoer machineleesbaar moet zijn en gemakkelijk moet kunnen worden omgezet in serialisatie-indelingen zoals JSON.

Parameters: Get-MpPerformanceReport

-TopPaths

Hiermee wordt een top-paths-rapport aangevraagd en wordt opgegeven hoeveel bovenste paden naar uitvoer worden weergegeven, gesorteerd op Duur. Hiermee worden de scans samengevoegd op basis van hun pad en map. De gebruiker kan opgeven hoeveel mappen op elk niveau moeten worden weergegeven en de diepte van de selectie.

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

Hiermee geeft u recursieve diepte op die wordt gebruikt om geaggregeerde padresultaten te groeperen en weer te geven. 'C:' komt bijvoorbeeld overeen met een diepte van 1, 'C:\Users\Foo' komt overeen met een diepte van 3.

Deze vlag kan bij alle andere opties voor het bovenste pad worden gevoegd. Als deze ontbreekt, wordt uitgegaan van een standaardwaarde van 3. De waarde mag niet 0 zijn.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
Vlag Definitie
-TopScansPerPath Hiermee geeft u op hoeveel topscans moeten worden opgegeven voor elk bovenste pad.
-TopFilesPerPath Hiermee geeft u op hoeveel topbestanden voor elk bovenste pad moeten worden opgegeven.
-TopScansPerFilePerPath Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk bovenste bestand voor elk bovenste pad, gesorteerd op 'Duur'
-TopExtensionsPerPath Hiermee geeft u op hoeveel belangrijkste extensies moeten worden uitgevoerd voor elk bovenste pad
-TopScansPerExtensionPerPath Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elke bovenste extensie voor elk bovenste pad
-TopProcessesPerPath Hiermee geeft u op hoeveel belangrijkste processen moeten worden uitgevoerd voor elk bovenste pad
-TopScansPerProcessPerPath Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk topproces voor elk bovenste pad
-TopPathsPerExtension Hiermee geeft u op hoeveel toppaden moeten worden uitgevoerd voor elke bovenste extensie
-TopScansPerPathPerExtension Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk bovenste pad voor elke bovenste extensie
-TopPathsPerProcess Hiermee geeft u het aantal belangrijkste paden naar uitvoer voor elk topproces op
-TopScansPerPathPerProcess Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk bovenste pad voor elk topproces
-MinDuration

Hiermee geeft u de minimale duur op van een scan of totale scanduur van bestanden, extensies en processen die zijn opgenomen in het rapport; accepteert waarden zoals 0,1234567 sec, 0,1234 ms, 0,1us of een geldige tijdsduur.

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

Hiermee geeft u het pad of de paden naar een of meer locaties.

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

Hiermee geeft u op dat de uitvoer van prestatie-opname machineleesbaar moet zijn en gemakkelijk moet kunnen worden omgezet in serialisatie-indelingen zoals JSON (bijvoorbeeld via de opdracht Converteren naar JSON). Deze configuratie wordt aanbevolen voor gebruikers die geïnteresseerd zijn in batchverwerking met andere gegevensverwerkingssystemen.

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

Hiermee geeft u het aantal belangrijkste extensies naar uitvoer, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel belangrijkste extensies worden uitgevoerd voor elk topproces, gesorteerd op Duur.

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

Hiermee wordt een top-files-rapport aangevraagd en opgegeven hoeveel topbestanden moeten worden uitgevoerd, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel bestanden moeten worden uitgevoerd voor elke bovenste extensie, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel belangrijkste bestanden moeten worden uitgevoerd voor elk topproces, gesorteerd op Duur.

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

Hiermee wordt een rapport met de belangrijkste processen aangevraagd en wordt opgegeven hoeveel van de belangrijkste processen moeten worden uitgevoerd, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel belangrijkste processen moeten worden uitgevoerd voor elke bovenste extensie, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel belangrijkste processen moeten worden uitgevoerd voor elk topbestand, gesorteerd op Duur.

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

Hiermee wordt een topscanrapport aangevraagd en wordt opgegeven hoeveel topscans moeten worden uitgevoerd, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elke bovenste extensie, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elke bovenste extensie voor elk topproces, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk topbestand, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk bovenste bestand voor elke topextensie, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans voor uitvoer worden uitgevoerd voor elk bovenste bestand voor elk topproces, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans moeten worden uitgevoerd voor elk topproces in het rapport Topprocessen, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans voor uitvoer worden uitgevoerd voor elk topproces voor elke topextensie, gesorteerd op Duur.

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

Hiermee geeft u op hoeveel topscans voor uitvoer worden uitgevoerd voor elk topproces voor elk topbestand, gesorteerd op Duur.

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

Aanvullende bronnen

Als u op zoek bent naar antivirusgerelateerde informatie voor andere platforms, raadpleegt u:

Tip

Wil je meer weten? Engage met de Microsoft Security-community in onze Tech Community: Microsoft Defender voor Eindpunt Tech Community.