Analizator wydajności dla programu antywirusowego Microsoft Defender
Dotyczy
- Ochrona punktu końcowego w usłudze Microsoft Defender (plan 1)
- Ochrona punktu końcowego w usłudze Microsoft Defender (plan 2)
- Program antywirusowy Microsoft Defender
Platformy
- System Windows
Wymagania
Analizator wydajności programu antywirusowego Microsoft Defender ma następujące wymagania wstępne:
- Obsługiwane wersje systemu Windows:
- Windows 10
- Windows 11
- Windows Server 2016 i nowsze
- Windows Server 2012 R2 (po dołączeniu przy użyciu nowoczesnego, ujednoliconego rozwiązania)
- W systemie Windows Server 2012 R2 wymagany jest zestaw Windows ADK (Windows Performance Toolkit). Pobieranie i instalowanie zestawu Windows ADK
- Wersja platformy:
4.18.2108.7
lub nowsza - Wersja programu PowerShell: PowerShell w wersji 5.1, PowerShell ISE, zdalny program PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)
Co to jest analizator wydajności programu antywirusowego Microsoft Defender?
Jeśli na urządzeniach z programem antywirusowym Microsoft Defender występują problemy z wydajnością, możesz użyć analizatora wydajności, aby zwiększyć wydajność programu antywirusowego Microsoft Defender. Analizator wydajności to narzędzie wiersza polecenia programu PowerShell, które ułatwia określanie plików, rozszerzeń plików i procesów, które mogą powodować problemy z wydajnością poszczególnych punktów końcowych podczas skanowania antywirusowego. Informacje zebrane przez analizator wydajności umożliwiają ocenę problemów z wydajnością i stosowanie akcji korygowania.
Podobnie jak w przypadku mechaników wykonujących diagnostykę i obsługę pojazdu, który ma problemy z wydajnością, analizator wydajności może pomóc zwiększyć wydajność programu antywirusowego Microsoft Defender.
Niektóre opcje analizy obejmują:
- Najważniejsze ścieżki wpływające na czas skanowania
- Najważniejsze pliki, które mają wpływ na czas skanowania
- Najważniejsze procesy wpływające na czas skanowania
- Najważniejsze rozszerzenia plików, które mają wpływ na czas skanowania
- Kombinacje — na przykład:
- najważniejsze pliki na rozszerzenie
- górne ścieżki na rozszerzenie
- najważniejsze procesy na ścieżkę
- najczęściej skanuje na plik
- najczęściej skanuje na plik na proces
Uruchamianie analizatora wydajności
Proces wysokiego poziomu na potrzeby uruchamiania analizatora wydajności obejmuje następujące kroki:
Uruchom analizator wydajności, aby zebrać rejestrowanie wydajności zdarzeń programu antywirusowego Microsoft Defender w punkcie końcowym.
Uwaga
Wydajność zdarzeń programu antywirusowego Microsoft Defender tego typu
Microsoft-Antimalware-Engine
jest rejestrowana za pośrednictwem analizatora wydajności.Przeanalizuj wyniki skanowania przy użyciu różnych raportów nagrywania.
Korzystanie z analizatora wydajności
Aby rozpocząć rejestrowanie zdarzeń systemowych, otwórz program PowerShell w trybie administratora i wykonaj następujące kroki:
Uruchom następujące polecenie, aby rozpocząć nagrywanie:
New-MpPerformanceRecording -RecordTo <recording.etl>
gdzie
-RecordTo
parametr określa pełną lokalizację ścieżki, w której jest zapisywany plik śledzenia. Aby uzyskać więcej informacji na temat poleceń cmdlet, zobacz Polecenia cmdlet programu antywirusowego Microsoft Defender.Jeśli istnieją procesy lub usługi, które mają wpływ na wydajność, odtwórz sytuację, wykonując odpowiednie zadania.
Naciśnij ENTER , aby zatrzymać i zapisać nagrywanie, lub Ctrl+C , aby anulować nagrywanie.
Przeanalizuj wyniki przy użyciu parametru analizatora
Get-MpPerformanceReport
wydajności. Na przykład podczas wykonywania poleceniaGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
użytkownik otrzymuje listę dziesięciu pierwszych skanów dla trzech pierwszych plików wpływających na wydajność.Aby uzyskać więcej informacji na temat parametrów i opcji wiersza polecenia, zobacz New-MpPerformanceRecording i Get-MpPerformanceReport.
Uwaga
Jeśli podczas uruchamiania nagrania zostanie wyświetlony błąd "Nie można rozpocząć rejestrowania wydajności, ponieważ rejestrator wydajności systemu Windows jest już nagrywany", uruchom następujące polecenie, aby zatrzymać istniejący ślad za pomocą nowego polecenia: wpr -cancel -instancename MSFT_MpPerformanceRecording
.
Dane i informacje dotyczące dostrajania wydajności
Na podstawie zapytania użytkownik może wyświetlać dane pod kątem liczby skanów, czasu trwania (łączna/minimalna/średnia/maksymalna/mediana), ścieżki, procesu i przyczyny skanowania. Na poniższej ilustracji przedstawiono przykładowe dane wyjściowe dla prostego zapytania 10 pierwszych plików pod kątem wpływu skanowania.
Eksportowanie i konwertowanie do plików CSV i JSON
Wyniki analizatora wydajności można również wyeksportować i przekonwertować na plik CSV lub JSON. Ten artykuł zawiera przykłady opisujące proces "eksportowania" i "konwertowania" za pomocą przykładowego kodu.
Począwszy od wersji 4.18.2206.X
usługi Defender, użytkownicy mogą wyświetlać informacje o przyczynach skanowania w kolumnie SkipReason
. Dopuszczalne wartości:
- Nie pominięto
- Optymalizacja (zazwyczaj ze względu na wydajność)
- Użytkownik został pominięty (zazwyczaj z powodu wykluczeń zestawu użytkowników)
Dla pliku CSV
- Aby wyeksportować:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
- Aby przekonwertować:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation
W przypadku formatu JSON
- Aby przekonwertować:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1
Aby zapewnić możliwość odczytu maszynowego danych wyjściowych na potrzeby eksportowania z innymi systemami przetwarzania danych, zaleca się użycie -Raw
parametru dla Get-MpPerformanceReport
programu . Aby uzyskać więcej informacji, zobacz poniższe sekcje.
Dokumentacja programu PowerShell
Istnieją dwa nowe polecenia cmdlet programu PowerShell używane do dostosowywania wydajności programu antywirusowego Microsoft Defender:
New-MpPerformanceRecording
W poniższej sekcji opisano odwołanie do nowego polecenia cmdlet New-MpPerformanceRecording
programu PowerShell. To polecenie cmdlet zbiera nagranie wydajności skanowania programu antywirusowego Microsoft Defender.
Składnia: New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
Opis: New-MpPerformanceRecording
Polecenie New-MpPerformanceRecording
cmdlet zbiera nagranie wydajności skanowania programu antywirusowego Microsoft Defender. Te nagrania wydajności zawierają zdarzenia procesu jądra Microsoft-Antimalware-Engine i NT i mogą być analizowane po zebraniu przy użyciu polecenia cmdlet Get-MpPerformanceReport .
To New-MpPerformanceRecording
polecenie cmdlet zapewnia wgląd w problematyczne pliki, które mogą powodować obniżenie wydajności programu antywirusowego Microsoft Defender. To narzędzie jest dostarczane "w takim stanie, w jakim jest" i nie ma na celu przedstawienia sugestii dotyczących wykluczeń. Wykluczenia mogą zmniejszyć poziom ochrony punktów końcowych. Wykluczenia, jeśli istnieją, powinny być definiowane z ostrożnością.
Aby uzyskać więcej informacji na temat analizatora wydajności, zobacz Dokumentacja analizatora wydajności .
Ważna
To polecenie cmdlet wymaga uprawnień administratora z podwyższonym poziomem uprawnień.
Przykłady: New-MpPerformanceRecording
Przykład 1. Zbieranie nagrania wydajności i zapisywanie go
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
Polecenie zbiera nagranie wydajności i zapisuje je w określonej ścieżce: .\Defender-scans.etl
.
Przykład 2: Zbieranie nagrania wydajności dla zdalnej sesji programu PowerShell
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
Polecenie zbiera rejestrowanie Server02
wydajności (zgodnie z argumentem $s sesji parametru) i zapisuje je w określonej ścieżce: C:\LocalPathOnServer02\trace.etl
na Server02
.
Parametry: New-MpPerformanceRecording
-RecordTo
Określa lokalizację, w której ma zostać zapisane nagranie wydajności ochrony przed złośliwym kodem w usłudze Microsoft Defender.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Sesja
Określa obiekt, PSSession
w którym należy utworzyć i zapisać nagranie wydajności programu antywirusowego Microsoft Defender. W przypadku korzystania z tego polecenia RecordTo
parametr odwołuje się do ścieżki lokalnej na komputerze zdalnym. Dostępne w wersji 4.18.2201.10
platformy Defender i nowszych wersjach.
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
W poniższej Get-MpPerformanceReport
sekcji opisano polecenie cmdlet programu PowerShell. Analizuje i raportuje rejestrowanie wydajności programu antywirusowego Microsoft Defender.
Składnia: 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>]
Opis: Get-MpPerformanceReport
Polecenie Get-MpPerformanceReport
cmdlet analizuje wcześniej zebrane nagranie wydajności programu antywirusowego Microsoft Defender (New-MpPerformanceRecording) i zgłasza ścieżki plików, rozszerzenia plików i procesy, które powodują największy wpływ na skanowanie programu antywirusowego Microsoft Defender.
Analizator wydajności zapewnia wgląd w problematyczne pliki, które mogą powodować obniżenie wydajności programu antywirusowego Microsoft Defender. To narzędzie jest dostarczane "tak, jak jest" i nie ma na celu przedstawienia sugestii dotyczących wykluczeń. Wykluczenia mogą zmniejszyć poziom ochrony punktów końcowych. Wykluczenia, jeśli istnieją, powinny być definiowane z ostrożnością.
Aby uzyskać więcej informacji na temat analizatora wydajności, zobacz Dokumentacja analizatora wydajności .
Obsługiwane wersje systemu operacyjnego:
Windows w wersji 10 lub nowszej.
Uwaga
Ta funkcja jest dostępna począwszy od wersji 4.18.2108.X
platformy i nowszych.
Przykłady: Get-MpPerformanceReport
Przykład 1: pojedyncze zapytanie
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Przykład 2: Wiele zapytań
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Przykład 3: Zapytania zagnieżdżone
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Przykład 4. Używanie parametru -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Przykład 5. Używanie parametru -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
Użycie -Raw
polecenia w poleceniu określa, że dane wyjściowe powinny być czytelne dla maszyny i łatwo można je przekonwertować na formaty serializacji, takie jak JSON.
Parametry: Get-MpPerformanceReport
-TopPaths
Żąda raportu z najwyższymi ścieżkami i określa, ile ścieżek do danych wyjściowych jest posortowanych według czasu trwania. Agreguje skany na podstawie ich ścieżki i katalogu. Użytkownik może określić liczbę katalogów, które mają być wyświetlane na każdym poziomie, oraz głębokość zaznaczenia.
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
Określa głębokość cykliczną używaną do grupowania i wyświetlania zagregowanych wyników ścieżki. Na przykład C:\
odpowiada głębokości 1 i C:\Users\Foo
odpowiada głębokości 3.
Ta flaga może towarzyszyć wszystkim innym opcjom górnej ścieżki. W przypadku braku jest przyjmowana wartość domyślna 3. Wartość nie może być 0.
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
flaga | definicja |
---|---|
-TopScansPerPath |
Określa liczbę górnych skanów do określenia dla każdej górnej ścieżki. |
-TopFilesPerPath |
Określa liczbę najważniejszych plików do określenia dla każdej górnej ścieżki. |
-TopScansPerFilePerPath |
Określa, ile górnych skanów do danych wyjściowych dla każdego górnego pliku dla każdej górnej ścieżki, posortowane według "Czas trwania" |
-TopExtensionsPerPath |
Określa liczbę górnych rozszerzeń do danych wyjściowych dla każdej górnej ścieżki |
-TopScansPerExtensionPerPath |
Określa, ile górnych skanów do danych wyjściowych dla każdego górnego rozszerzenia dla każdej górnej ścieżki |
-TopProcessesPerPath |
Określa liczbę najważniejszych procesów do wyświetlenia dla każdej górnej ścieżki |
-TopScansPerProcessPerPath |
Określa liczbę najlepszych skanów do danych wyjściowych dla każdego najwyższego procesu dla każdej górnej ścieżki |
-TopPathsPerExtension |
Określa liczbę górnych ścieżek do danych wyjściowych dla każdego górnego rozszerzenia |
-TopScansPerPathPerExtension |
Określa, ile górnych skanów do danych wyjściowych dla każdej górnej ścieżki dla każdego górnego rozszerzenia |
-TopPathsPerProcess |
Określa, ile górnych ścieżek do danych wyjściowych dla każdego górnego procesu |
-TopScansPerPathPerProcess |
Określa liczbę najlepszych skanów do danych wyjściowych dla każdej górnej ścieżki dla każdego górnego procesu |
-MinDuration
Określa minimalny czas trwania skanowania lub łączny czas trwania skanowania plików, rozszerzeń i procesów zawartych w raporcie; akceptuje wartości, takie jak 0.1234567sec
, 0.1234ms
, 0.1us
lub prawidłowy timeSpan.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Ścieżka
Określa ścieżkę lub ścieżki do co najmniej jednej lokalizacji.
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Surowy
Określa, że dane wyjściowe rejestrowania wydajności powinny być czytelne dla komputera i łatwo można je konwertować na formaty serializacji, takie jak JSON (na przykład za pomocą polecenia Convert-to-JSON). Ta konfiguracja jest zalecana dla użytkowników zainteresowanych przetwarzaniem wsadowym z innymi systemami przetwarzania danych.
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions
Określa liczbę najważniejszych rozszerzeń danych wyjściowych posortowanych według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
Określa, ile górnych rozszerzeń do danych wyjściowych dla każdego górnego procesu, posortowane według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles
Żąda raportu z najwyższą liczbą plików i określa liczbę najważniejszych plików do danych wyjściowych posortowanych według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
Określa liczbę najlepszych plików do wyświetlenia dla każdego górnego rozszerzenia posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
Określa liczbę najlepszych plików do wyświetlenia dla każdego najwyższego procesu posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses
Żąda raportu top-processes i określa, ile z najważniejszych procesów do danych wyjściowych, posortowane według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension
Określa liczbę najlepszych procesów do wyświetlenia dla każdego górnego rozszerzenia posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
Określa liczbę najważniejszych procesów do wyświetlenia dla każdego najwyższego pliku posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
Żąda najwyższego skanowania raportu i określa liczbę najczęściej skanowanych danych wyjściowych posortowanych według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego górnego rozszerzenia posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego górnego rozszerzenia dla każdego najwyższego procesu posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego najwyższego pliku posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego najwyższego pliku dla każdego górnego rozszerzenia posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego najwyższego pliku dla każdego najwyższego procesu posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego najwyższego procesu w raporcie Top Processes posortowane według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
Określa liczbę najczęściej skanowanych danych wyjściowych dla każdego najwyższego procesu dla każdego górnego rozszerzenia posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
Określa liczbę najlepszych skanów danych wyjściowych dla każdego najwyższego procesu dla każdego najwyższego pliku posortowanego według czasu trwania.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Porada
Chcesz dowiedzieć się więcej? Skontaktuj się ze społecznością zabezpieczeń firmy Microsoft w naszej społeczności technicznej: Microsoft Defender for Endpoint Tech Community.