Delen via


Performance Analyzer voor Microsoft Defender Antivirus

Van toepassing op

Platforms

  • Windows

Vereisten

Microsoft Defender Antivirus Performance Analyzer heeft de volgende vereisten:

  • Ondersteunde Windows-versies:
  • 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 de Microsoft Defender Antivirus-prestatieanalyse?

Als apparaten met Microsoft Defender Antivirus prestatieproblemen ondervinden, kunt u de prestatieanalyse gebruiken om de prestaties van Microsoft Defender Antivirus te verbeteren. De performance analyzer 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.

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

Afbeelding van conceptuele prestatieanalyse voor Microsoft Defender Antivirus.

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 de prestatieanalyse omvat de volgende stappen:

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

    Opmerking

    Prestaties van Microsoft Defender Antivirus-gebeurtenissen van dit 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 beheerdersmodus 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

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. Dit artikel bevat voorbeelden waarin het proces van 'exporteren' en 'converteren' via voorbeeldcode wordt beschreven.

Vanaf de Defender-versie 4.18.2206.Xkunnen gebruikers informatie over de reden voor het overslaan van scans bekijken onder SkipReason de kolom. 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 worden twee nieuwe PowerShell-cmdlets 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-MpPerformanceRecordingbeschreven. 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-documenten 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 opdracht wordt een prestatie-opname verzameld en opgeslagen in 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

De opdracht verzamelt een prestatie-opname op Server02 (zoals opgegeven door argument $s van parameter Session) en slaat deze op op het opgegeven pad: C:\LocalPathOnServer02\trace.etl op Server02.

Parameters: New-MpPerformanceRecording

-RecordTo

Hiermee geeft u de locatie op waarop de Prestatie-opname van Microsoft Defender Antimalware 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 opdracht gebruikt, verwijst de RecordTo parameter naar het lokale pad op de externe computer. Beschikbaar met defender-platformversie 4.18.2201.10 en hoger.

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

Get-MpPerformanceReport

In de volgende sectie wordt de Get-MpPerformanceReport PowerShell-cmdlet beschreven. Analyseert en rapporteert over prestaties van Microsoft Defender Antivirus.

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

Beschrijving: Get-MpPerformanceReport

De Get-MpPerformanceReport cmdlet analyseert een eerder verzamelde Microsoft Defender Antivirus-prestatieopname (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-documenten voor meer informatie over de performance analyzer.

Ondersteunde versies van het besturingssysteem:

Windows versie 10 en hoger.

Opmerking

Deze functie is beschikbaar vanaf de 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 in de opdracht gebruikt, 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 moeten worden uitgevoerd, 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. Komt bijvoorbeeld C:\ overeen met een diepte van 1 en 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.1234567sec, 0.1234ms, 0.1usof een geldige tijdspanne.

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
-Rauw

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 moeten 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 wordt 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 topbestanden 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 topprocessen 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 rapport met de hoogste scans 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 topbestand 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 topbestand 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 bovenste extensie, 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 voor elk topproces voor elk topbestand, gesorteerd op duur.

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

Tip

Wil je meer weten? Neem contact op met de Microsoft Security-community in onze Tech Community: Microsoft Defender for Endpoint Tech Community.