Prestandaanalys för Microsoft Defender Antivirus
Gäller för
- Microsoft Defender för Endpoint Abonnemang 1
- Microsoft Defender för Endpoint Abonnemang 2
- Microsoft Defender Antivirus
Plattformar
- Windows
Krav
Prestandaanalys för Microsoft Defender Antivirus har följande krav:
- Windows-versioner som stöds:
- Windows 10
- Windows 11
- Windows Server 2016 och senare
- Windows Server 2012 R2 (när den registreras med en modern, enhetlig lösning)
- För Windows Server 2012 R2 behövs Windows ADK (Windows Performance Toolkit). Ladda ned och installera Windows ADK
- Plattformsversion:
4.18.2108.7
eller senare - PowerShell-version: PowerShell version 5.1, PowerShell ISE, fjärransluten PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)
Vad är prestandaanalyseraren för Microsoft Defender Antivirus?
Om enheter som kör Microsoft Defender Antivirus har prestandaproblem kan du använda prestandaanalysen för att förbättra prestanda för Microsoft Defender Antivirus. Prestandaanalysen är ett PowerShell-kommandoradsverktyg som hjälper dig att fastställa filer, filnamnstillägg och processer som kan orsaka prestandaproblem på enskilda slutpunkter under antivirusgenomsökningar. Du kan använda informationen som samlas in av prestandaanalyseraren för att utvärdera prestandaproblem och tillämpa reparationsåtgärder.
På samma sätt som mekaniker utför diagnostik och tjänst på ett fordon som har prestandaproblem kan prestandaanalysen hjälpa dig att förbättra Microsoft Defender Antivirus-prestanda.
Några alternativ att analysera är:
- De vanligaste sökvägarna som påverkar genomsökningstiden
- De vanligaste filerna som påverkar genomsökningstiden
- De vanligaste processerna som påverkar genomsökningstiden
- De vanligaste filnamnstilläggen som påverkar genomsökningstiden
- Kombinationer – till exempel:
- de vanligaste filerna per tillägg
- de översta sökvägarna per tillägg
- de vanligaste processerna per sökväg
- de vanligaste genomsökningarna per fil
- de vanligaste genomsökningarna per fil per process
Köra prestandaanalys
Den övergripande processen för att köra prestandaanalysen omfattar följande steg:
Kör prestandaanalysen för att samla in en prestandainspelning av Microsoft Defender Antivirus-händelser på slutpunkten.
Obs!
Prestanda för Microsoft Defender Antivirus-händelser av typen
Microsoft-Antimalware-Engine
registreras via prestandaanalysen.Analysera genomsökningsresultaten med hjälp av olika inspelningsrapporter.
Använda prestandaanalys
Börja spela in systemhändelser genom att öppna PowerShell i administratörsläge och utföra följande steg:
Kör följande kommando för att starta inspelningen:
New-MpPerformanceRecording -RecordTo <recording.etl>
där
-RecordTo
parametern anger den fullständiga sökvägsplats där spårningsfilen sparas. Mer cmdlet-information finns i Microsoft Defender Antivirus-cmdletar.Om det finns processer eller tjänster som anses påverka prestanda, återskapar du situationen genom att utföra relevanta uppgifter.
Tryck på RETUR för att stoppa och spara inspelningen eller Ctrl+C för att avbryta inspelningen.
Analysera resultaten med hjälp av prestandaanalysens
Get-MpPerformanceReport
parameter. När du till exempel kör kommandotGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
får användaren en lista över de tio främsta genomsökningarna för de tre främsta filerna som påverkar prestanda.Mer information om kommandoradsparametrar och alternativ finns i New-MpPerformanceRecording och Get-MpPerformanceReport.
Obs!
Om du får felet "Det går inte att starta prestandainspelningen eftersom Windows Performance Recorder redan spelar in" när du kör en inspelning kör du följande kommando för att stoppa den befintliga spårningen med det nya kommandot: wpr -cancel -instancename MSFT_MpPerformanceRecording
.
Prestandajusteringsdata och information
Baserat på frågan kan användaren visa data för genomsökningsantal, varaktighet (totalt/min/genomsnitt/max/median), sökväg, process och orsak till genomsökning. Följande bild visar exempelutdata för en enkel fråga av de 10 främsta filerna för genomsökningspåverkan.
Exportera och konvertera till CSV och JSON
Resultatet av prestandaanalysen kan också exporteras och konverteras till en CSV- eller JSON-fil. Den här artikeln innehåller exempel som beskriver processen med "export" och "konvertera" via exempelkod.
Från och med Defender-versionen 4.18.2206.X
kan användarna visa information om genomsökningshopp över orsak under SkipReason
kolumnen. Möjliga värden är:
- Hoppas inte över
- Optimering (vanligtvis på grund av prestandaskäl)
- Användaren hoppades över (vanligtvis på grund av användaruppsättningsundantag)
För CSV
- Så här exporterar du:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
- Så här konverterar du:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation
För JSON
- Så här konverterar du:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1
För att säkerställa maskinläsbara utdata för export med andra databehandlingssystem rekommenderar vi att du använder -Raw
parametern för Get-MpPerformanceReport
. Mer information finns i följande avsnitt.
PowerShell-referens
Det finns två nya PowerShell-cmdletar som används för att finjustera prestanda för Microsoft Defender Antivirus:
New-MpPerformanceRecording
I följande avsnitt beskrivs referensen för den nya PowerShell-cmdleten New-MpPerformanceRecording
. Den här cmdleten Samlar in en prestandainspelning av Microsoft Defender Antivirus-genomsökningar.
Syntax: New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
Beskrivning: New-MpPerformanceRecording
Cmdleten New-MpPerformanceRecording
samlar in en prestandainspelning av Microsoft Defender Antivirus-genomsökningar. Dessa prestandainspelningar innehåller processhändelser för Microsoft-Antimalware-Engine och NT-kernel och kan analyseras efter samlingen med cmdleten Get-MpPerformanceReport .
Den här New-MpPerformanceRecording
cmdleten ger en inblick i problematiska filer som kan orsaka försämrad prestanda för Microsoft Defender Antivirus. Det här verktyget tillhandahålls i nuläget och är inte avsett att ge förslag på undantag. Undantag kan minska skyddsnivån på dina slutpunkter. Eventuella undantag bör definieras med försiktighet.
Mer information om prestandaanalys finns i dokumentationen för Prestandaanalys .
Viktigt
Den här cmdleten kräver utökade administratörsbehörigheter.
Exempel: New-MpPerformanceRecording
Exempel 1: Samla in en prestandainspelning och spara den
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
Kommandot samlar in en prestandainspelning och sparar den på den angivna sökvägen: .\Defender-scans.etl
.
Exempel 2: Samla in en prestandainspelning för powershell-fjärrsession
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
Kommandot samlar in en prestandainspelning på Server02
(enligt argumentet $s för parametern Session) och sparar den på den angivna sökvägen: C:\LocalPathOnServer02\trace.etl
på Server02
.
Parametrar: New-MpPerformanceRecording
-RecordTo
Anger den plats där du vill spara prestandainspelningen för Microsoft Defender Antimalware.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Session
Anger i vilket PSSession
objekt du vill skapa och spara prestandainspelningen för Microsoft Defender Antivirus. När du använder det här kommandot refererar parametern RecordTo
till den lokala sökvägen på fjärrdatorn. Tillgänglig med Defender-plattformsversion 4.18.2201.10
och senare.
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
I följande avsnitt beskrivs PowerShell-cmdleten Get-MpPerformanceReport
. Analyserar och rapporterar om prestandainspelning i Microsoft Defender Antivirus.
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>]
Beskrivning: Get-MpPerformanceReport
Cmdleten Get-MpPerformanceReport
analyserar en tidigare insamlad Prestandainspelning för Microsoft Defender Antivirus (New-MpPerformanceRecording) och rapporterar de filsökvägar, filnamnstillägg och processer som orsakar störst inverkan på Microsoft Defender Antivirus-genomsökningar.
Prestandaanalysen ger en inblick i problematiska filer som kan orsaka försämrad prestanda för Microsoft Defender Antivirus. Det här verktyget tillhandahålls i nuläget och är inte avsett att ge förslag på undantag. Undantag kan minska skyddsnivån på dina slutpunkter. Eventuella undantag bör definieras med försiktighet.
Mer information om prestandaanalys finns i dokumentationen för Prestandaanalys .
Operativsystemversioner som stöds:
Windows version 10 och senare.
Obs!
Den här funktionen är tillgänglig från och med plattformsversion 4.18.2108.X
och senare.
Exempel: Get-MpPerformanceReport
Exempel 1: Enskild fråga
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Exempel 2: Flera frågor
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Exempel 3: Kapslade frågor
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Exempel 4: Använda parametern -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Exempel 5: Använda parametern -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
Med hjälp av -Raw
i kommandot anger att utdata ska vara maskinläsbara och enkelt kan konverteras till serialiseringsformat som JSON.
Parametrar: Get-MpPerformanceReport
-TopPaths
Begär en rapport med de översta sökvägarna och anger hur många toppsökvägar som ska matas ut, sorterade efter varaktighet. Aggregerar genomsökningarna baserat på deras sökväg och katalog. Användaren kan ange hur många kataloger som ska visas på varje nivå och markeringens djup.
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
Anger rekursivt djup som används för att gruppera och visa aggregerade sökvägsresultat. Till exempel C:\
motsvarar ett djup på 1 och C:\Users\Foo
motsvarar ett djup på 3.
Den här flaggan kan åtfölja alla andra alternativ för översta sökvägen. Om det saknas antas standardvärdet 3. Värdet får inte vara 0.
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
flagga | definition |
---|---|
-TopScansPerPath |
Anger hur många toppgenomsökningar som ska anges för varje toppsökväg. |
-TopFilesPerPath |
Anger hur många toppfiler som ska anges för varje översta sökväg. |
-TopScansPerFilePerPath |
Anger hur många toppgenomsökningar som ska matas ut för varje toppfil för varje toppsökväg, sorterat efter "Varaktighet" |
-TopExtensionsPerPath |
Anger hur många topptillägg som ska matas ut för varje översta sökväg |
-TopScansPerExtensionPerPath |
Anger hur många toppgenomsökningar som ska matas ut för varje topptillägg för varje toppsökväg |
-TopProcessesPerPath |
Anger hur många toppprocesser som ska matas ut för varje toppsökväg |
-TopScansPerProcessPerPath |
Anger hur många toppgenomsökningar som ska matas ut för varje toppprocess för varje toppsökväg |
-TopPathsPerExtension |
Anger hur många översta sökvägar som ska matas ut för varje övre tillägg |
-TopScansPerPathPerExtension |
Anger hur många toppgenomsökningar som ska matas ut för varje toppsökväg för varje topptillägg |
-TopPathsPerProcess |
Anger hur många toppsökvägar som ska matas ut för varje toppprocess |
-TopScansPerPathPerProcess |
Anger hur många toppgenomsökningar som ska matas ut för varje toppsökväg för varje toppprocess |
-MinDuration
Anger den minsta varaktigheten för alla genomsökningar eller totala genomsökningsvaraktigheterna för filer, tillägg och processer som ingår i rapporten. accepterar värden som 0.1234567sec
, 0.1234ms
, 0.1us
eller ett giltigt TimeSpan.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Stig
Anger sökvägen eller sökvägarna till en eller flera platser.
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Rå
Anger att utdata från prestandainspelning ska vara maskinläsbara och enkelt konverteras till serialiseringsformat som JSON (till exempel via kommandot Convert-to-JSON). Den här konfigurationen rekommenderas för användare som är intresserade av batchbearbetning med andra databehandlingssystem.
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions
Anger hur många topptillägg som ska matas ut, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
Anger hur många topptillägg som ska matas ut för varje toppprocess, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles
Begär en rapport med de översta filerna och anger hur många toppfiler som ska matas ut, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
Anger hur många toppfiler som ska matas ut för varje topptillägg, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
Anger hur många toppfiler som ska matas ut för varje toppprocess, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses
Begär en rapport med de översta processerna och anger hur många av de översta processerna som ska matas ut, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension
Anger hur många toppprocesser som ska matas ut för varje topptillägg, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
Anger hur många toppprocesser som ska matas ut för varje toppfil, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
Begär en rapport med toppgenomsökningar och anger hur många toppgenomsökningar som ska matas ut, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
Anger hur många toppgenomsökningar som ska matas ut för varje topptillägg, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
Anger hur många toppgenomsökningar som ska matas ut för varje topptillägg för varje toppprocess, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
Anger hur många toppgenomsökningar som ska matas ut för varje toppfil, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
Anger hur många toppgenomsökningar som ska matas ut för varje toppfil för varje topptillägg, sorterat efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
Anger hur många toppgenomsökningar för utdata för varje toppfil för varje toppprocess, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
Anger hur många toppgenomsökningar som ska matas ut för varje toppprocess i rapporten De översta processerna, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
Anger hur många toppgenomsökningar för utdata för varje toppprocess för varje topptillägg, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
Anger hur många toppgenomsökningar för utdata för varje toppprocess för varje toppfil, sorterade efter varaktighet.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Tips
Vill du veta mer? Interagera med Microsoft Security-communityn i vår Tech Community: Microsoft Defender för Endpoint Tech Community.