Analyzátor výkonu pro Antivirovou ochranu v programu Microsoft Defender

Platí pro

Platformy

  • Windows

Požadavky

Analyzátor výkonu antivirové ochrany v programu Microsoft Defender má následující požadavky:

  • Podporované verze Windows:
  • Verze platformy: 4.18.2108.7 nebo novější
  • Verze PowerShellu: PowerShell verze 5.1, PowerShell ISE, vzdálený PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)

Co je Analyzátor výkonu Antivirové ochrany v programu Microsoft Defender?

Pokud u zařízení s antivirovou ochranou v programu Microsoft Defender dochází k problémům s výkonem, můžete pomocí analyzátoru výkonu zvýšit výkon antivirové ochrany v programu Microsoft Defender. Analyzátor výkonu je nástroj příkazového řádku PowerShellu, který vám pomůže určit soubory, přípony souborů a procesy, které můžou způsobovat problémy s výkonem jednotlivých koncových bodů během antivirových kontrol. Informace shromážděné Analyzátorem výkonu můžete použít k posouzení problémů s výkonem a k použití nápravných akcí.

Podobně jako při provádění diagnostiky a servisu na vozidle, které má problémy s výkonem, vám analyzátor výkonu může pomoct zvýšit výkon Antivirové ochrany v programu Microsoft Defender.

Obrázek koncepčního analyzátoru výkonu pro Antivirovou ochranu v programu Microsoft Defender.

Mezi možnosti analýzy patří:

  • Hlavní cesty, které mají vliv na dobu kontroly
  • Hlavní soubory, které mají vliv na dobu kontroly
  • Hlavní procesy, které mají vliv na dobu kontroly
  • Hlavní přípony souborů, které mají vliv na dobu kontroly
  • Kombinace – například:
    • top files per extension
    • top paths per extension
    • top processes per path
    • top scans per file
    • top scans per file per process

Spuštění Analyzátoru výkonu

Proces vysoké úrovně pro spuštění analyzátoru výkonu zahrnuje následující kroky:

  1. Spuštěním analyzátoru výkonu shromážděte záznam výkonu událostí Antivirové ochrany v programu Microsoft Defender v koncovém bodu.

    Poznámka

    Výkon událostí antivirové ochrany v programu Microsoft Defender typu Microsoft-Antimalware-Engine se zaznamenávají prostřednictvím analyzátoru výkonu.

  2. Analyzujte výsledky kontroly pomocí různých sestav záznamu.

Použití Analyzátoru výkonu

Pokud chcete začít zaznamenávat systémové události, otevřete PowerShell v režimu správce a proveďte následující kroky:

  1. Spuštěním následujícího příkazu spusťte nahrávání:

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    where -RecordTo parametr určuje umístění úplné cesty, do kterého je uložen trasovací soubor. Další informace o rutinách najdete v tématu Rutiny Antivirové ochrany v programu Microsoft Defender.

  2. Pokud existují procesy nebo služby, o které se předpokládá, že ovlivňují výkon, reprodukujte situaci provedením příslušných úkolů.

  3. Stisknutím klávesy ENTER záznam zastavíte a uložíte, nebo stisknutím Ctrl+C záznam zrušíte.

  4. Analyzujte výsledky pomocí parametru analyzátoru výkonu Get-MpPerformanceReport . Například při spuštění příkazu Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10se uživateli zobrazí seznam prvních deseti kontrol pro první tři soubory, které mají vliv na výkon.

    Další informace o parametrech a možnostech příkazového řádku najdete v tématech New-MpPerformanceRecording a Get-MpPerformanceReport.

Poznámka

Pokud se při spuštění nahrávky zobrazí chyba "Záznam výkonu nelze spustit, protože záznam výkonu systému Windows už nahrává", spuštěním následujícího příkazu zastavte stávající trasování pomocí nového příkazu: wpr -cancel -instancename MSFT_MpPerformanceRecording.

Data a informace o ladění výkonu

Na základě dotazu může uživatel zobrazit data o počtu kontrol, době trvání (celkem/min/průměr/maximum/medián), cestě, procesu a důvodu kontroly. Následující obrázek ukazuje ukázkový výstup pro jednoduchý dotaz na 10 nejlepších souborů pro dopad kontroly.

Příklad výstupu základního dotazu TopFiles

Export a převod do FORMÁTU CSV a JSON

Výsledky analyzátoru výkonu je také možné exportovat a převést na soubor CSV nebo JSON. Tento článek obsahuje příklady, které popisují proces "exportu" a "převodu" prostřednictvím ukázkového kódu.

Od verze 4.18.2206.XDefenderu můžou uživatelé zobrazit informace o důvodu přeskakování kontroly ve SkipReason sloupci. Možné hodnoty:

  • Nepřeskočeno
  • Optimalizace (obvykle z důvodů výkonu)
  • Uživatel byl vynechán (obvykle kvůli vyloučení sady uživatelů)

Pro csv

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

Pro JSON

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

Pokud chcete zajistit strojově čitelný výstup pro export s jinými systémy zpracování dat, doporučujeme použít -Raw parametr pro Get-MpPerformanceReport. Další podrobnosti najdete v následujících částech.

Referenční informace k PowerShellu

K ladění výkonu Antivirové ochrany v programu Microsoft Defender se používají dvě nové rutiny PowerShellu:

New-MpPerformanceRecording

Následující část popisuje referenční informace pro novou rutinu New-MpPerformanceRecordingPowerShellu . Tato rutina shromažďuje záznam výkonu kontrol antivirové ochrany v programu Microsoft Defender.

Syntaxe: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Popis: New-MpPerformanceRecording

Rutina New-MpPerformanceRecording shromažďuje záznam výkonu kontrol antivirové ochrany v programu Microsoft Defender. Tyto záznamy výkonu obsahují události procesu jádra Microsoft-Antimalware-Engine a NT a lze je analyzovat po shromáždění pomocí rutiny Get-MpPerformanceReport .

Tato New-MpPerformanceRecording rutina poskytuje přehled o problematických souborech, které by mohly způsobit snížení výkonu antivirové ochrany v programu Microsoft Defender. Tento nástroj je k dispozici "tak, jak je", a není určen k poskytování návrhů na vyloučení. Vyloučení můžou snížit úroveň ochrany vašich koncových bodů. Případné výjimky byste měli definovat s opatrností.

Další informace o analyzátoru výkonu najdete v dokumentaci k Analyzátoru výkonu .

Důležité

Tato rutina vyžaduje zvýšená oprávnění správce.

Příklady: New-MpPerformanceRecording

Příklad 1: Shromáždění záznamu výkonu a jeho uložení
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

Příkaz shromáždí záznam výkonu a uloží ho do zadané cesty: .\Defender-scans.etl.

Příklad 2: Shromáždění záznamu výkonu pro vzdálenou relaci PowerShellu
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

Příkaz shromáždí záznam Server02 výkonu při (podle argumentu $s parametru Session) a uloží ho do zadané cesty: C:\LocalPathOnServer02\trace.etl na Server02.

Parametry: New-MpPerformanceRecording

-RecordTo

Určuje umístění, do kterého se má uložit záznam výkonu programu Microsoft Defender Antimalware.

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

Určuje objekt, PSSession ve kterém se má vytvořit a uložit záznam výkonu antivirové ochrany v programu Microsoft Defender. Když použijete tento příkaz, RecordTo parametr odkazuje na místní cestu na vzdáleném počítači. K dispozici s verzí 4.18.2201.10 platformy Defender a novější.

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

Get-MpPerformanceReport

Následující část popisuje rutinu PowerShellu Get-MpPerformanceReport . Analyzuje a hlásí záznam výkonu antivirové ochrany v programu Microsoft Defender.

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

Popis: Get-MpPerformanceReport

Rutina Get-MpPerformanceReport analyzuje dříve shromážděný záznam výkonu antivirové ochrany v programu Microsoft Defender (New-MpPerformanceRecording) a hlásí cesty k souborům, přípony souborů a procesy, které způsobují největší dopad na kontroly antivirové ochrany v programu Microsoft Defender.

Analyzátor výkonu poskytuje přehled o problematických souborech, které by mohly způsobit snížení výkonu antivirové ochrany v programu Microsoft Defender. Tento nástroj je k dispozici "tak, jak je" a není určen k poskytování návrhů na vyloučení. Vyloučení můžou snížit úroveň ochrany vašich koncových bodů. Případné výjimky byste měli definovat s opatrností.

Další informace o analyzátoru výkonu najdete v dokumentaci k Analyzátoru výkonu .

Podporované verze operačního systému:

Windows verze 10 a novější.

Poznámka

Tato funkce je dostupná od verze 4.18.2108.X platformy a novějších verzí.

Příklady: Get-MpPerformanceReport

Příklad 1: Jeden dotaz
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Příklad 2: Více dotazů
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Příklad 3: Vnořené dotazy
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Příklad 4: Použití parametru -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Příklad 5: Použití parametru -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

Použití -Raw v příkazu určuje, že výstup by měl být strojově čitelný a snadno převoditelný na formáty serializace, jako je JSON.

Parametry: Get-MpPerformanceReport

-TopPaths

Vyžádá si sestavu nejvyšších cest a určí, kolik hlavních cest k výstupu seřadí podle doby trvání. Agreguje kontroly na základě jejich cesty a adresáře. Uživatel může určit, kolik adresářů se má zobrazit na jednotlivých úrovních a hloubka výběru.

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

Určuje rekurzivní hloubku, která se používá k seskupení a zobrazení agregovaných výsledků cesty. Například C:\ odpovídá hloubce 1 a C:\Users\Foo odpovídá hloubce 3.

Tento příznak může doprovázet všechny ostatní možnosti horní cesty. Pokud chybí, předpokládá se výchozí hodnota 3. Hodnota nemůže být 0.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
vlajka definice
-TopScansPerPath Určuje, kolik prvních kontrol se má zadat pro každou horní cestu.
-TopFilesPerPath Určuje, kolik hlavních souborů se má zadat pro každou horní cestu.
-TopScansPerFilePerPath Určuje, kolik prvních skenů se má vydělovat pro každý horní soubor pro každou horní cestu, seřazených podle doby trvání.
-TopExtensionsPerPath Určuje, kolik hlavních rozšíření se má vydělovat pro každou horní cestu.
-TopScansPerExtensionPerPath Určuje, kolik prvních skenů se má vydělovat pro každé horní rozšíření pro každou horní cestu.
-TopProcessesPerPath Určuje, kolik hlavních procesů se má vydělovat pro každou horní cestu.
-TopScansPerProcessPerPath Určuje, kolik prvních skenů se má vydělovat pro každý hlavní proces pro každou horní cestu.
-TopPathsPerExtension Určuje, kolik hlavních cest se má vyvést pro každé hlavní rozšíření.
-TopScansPerPathPerExtension Určuje, kolik prvních skenů se má vydělovat pro každou horní cestu pro každé horní rozšíření.
-TopPathsPerProcess Určuje počet hlavních cest k výstupu pro každý hlavní proces.
-TopScansPerPathPerProcess Určuje, kolik prvních kontrol se má vydělovat pro každou horní cestu pro každý proces na začátku.
-MinDuration

Určuje minimální dobu trvání jakékoli kontroly nebo celkové doby trvání kontroly souborů, rozšíření a procesů zahrnutých v sestavě. přijímá hodnoty, jako je 0.1234567sec, 0.1234ms, 0.1usnebo platný časový interval.

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

Určuje cestu nebo cesty k jednomu nebo více umístěním.

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

Určuje, že výstup záznamu výkonu by měl být strojově čitelný a snadno převoditelný na formáty serializace, jako je JSON (například pomocí příkazu Convert-to-JSON). Tato konfigurace se doporučuje uživatelům, kteří mají zájem o dávkové zpracování s jinými systémy zpracování dat.

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

Určuje, kolik hlavních rozšíření výstupu seřadí podle doby trvání.

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

Určuje, kolik hlavních rozšíření se má vydělovat pro každý hlavní proces seřazených podle doby trvání.

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

Vyžádá si sestavu top-files a určuje, kolik hlavních souborů se má vyřadit podle doby trvání.

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

Určuje, kolik nejlepších souborů se má vydělovat pro každé hlavní rozšíření seřazené podle doby trvání.

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

Určuje, kolik nejlepších souborů se má vydělovat pro každý hlavní proces seřazených podle doby trvání.

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

Vyžádá si sestavu s nejvyšším počtem procesů a určí, kolik hlavních procesů má být výstupu seřazeno podle doby trvání.

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

Určuje, kolik hlavních procesů se má vydělovat pro každé hlavní rozšíření seřazené podle doby trvání.

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

Určuje, kolik hlavních procesů se má vydělovat pro každý hlavní soubor seřazených podle doby trvání.

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

Vyžádá si sestavu kontrol s nejvyšším počtem kontrol a určí, kolik hlavních kontrol má být výstup seřazeno podle doby trvání.

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

Určuje, kolik hlavních kontrol má být výstup pro každé hlavní rozšíření seřazeno podle doby trvání.

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

Určuje, kolik hlavních kontrol se má vydělovat pro každé hlavní rozšíření pro každý hlavní proces seřazených podle doby trvání.

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

Určuje, kolik hlavních kontrol se má vydělovat pro každý hlavní soubor seřazených podle doby trvání.

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

Určuje, kolik hlavních kontrol se má vydělovat pro každý hlavní soubor pro každou hlavní příponu seřazených podle doby trvání.

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

Určuje, kolik prvních prohledávání výstupu pro každý hlavní soubor pro každý hlavní proces, seřazené podle doby trvání.

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

Určuje, kolik hlavních kontrol se má vydělovat pro každý hlavní proces v sestavě Top Processes (Hlavní procesy) seřazených podle doby trvání.

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

Určuje, kolik nejvyšších hodnot vyhledá výstup pro každý hlavní proces pro každé horní rozšíření seřazené podle doby trvání.

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

Určuje, kolik prvních kontrol pro každý hlavní proces pro každý hlavní soubor vyhledá výstup seřazený podle doby trvání.

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

Tip

Chcete se dozvědět více? Spojte se s komunitou zabezpečení Microsoftu v naší technické komunitě: Technická komunita Microsoft Defenderu for Endpoint.