Performance Analyzer voor Microsoft Defender Antivirus
Van toepassing op
- Plan 1 voor Microsoft Defender voor Eindpunt
- Plan 2 voor Microsoft Defender voor Eindpunt
- Microsoft Defender Antivirus
Platforms
- Windows
Vereisten
Microsoft Defender Antivirus Performance Analyzer heeft de volgende vereisten:
- Ondersteunde Windows-versies:
- Windows 10
- Windows 11
- Windows Server 2016 en hoger
- Windows Server 2012 R2 (bij onboarding met behulp van een moderne, geïntegreerde oplossing)
- Voor Windows Server 2012 R2 is de Windows ADK (Windows Performance Toolkit) nodig. Windows ADK downloaden en installeren
- 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.
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:
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.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:
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.Als er processen of diensten zijn die van invloed zijn op de prestaties, reproduceert u de situatie door de relevante taken uit te voeren.
Druk op Enter om de opname te stoppen en op te slaan, of op Ctrl+C om de opname te annuleren.
Analyseer de resultaten met behulp van de parameter van
Get-MpPerformanceReport
de performance analyzer. Bij het uitvoeren van de opdrachtGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
krijgt 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.
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.X
kunnen 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-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-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.1us
of 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.