Aracılığıyla paylaş


Microsoft Defender Virüsten Koruma için performans çözümleyicisi

Uygulandığı öğe

Platform

  • Windows

Gereksinimler

Microsoft Defender Virüsten Koruma performans çözümleyicisi aşağıdaki önkoşullara sahiptir:

  • Desteklenen Windows sürümleri:
  • Platform Sürümü: 4.18.2108.7 veya üzeri
  • PowerShell Sürümü: PowerShell Sürüm 5.1, PowerShell ISE, uzak PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)

Microsoft Defender Virüsten Koruma performans çözümleyicisi nedir?

Microsoft Defender Virüsten Koruma çalıştıran cihazlarda performans sorunları yaşanıyorsa, Microsoft Defender Virüsten Koruma'nın performansını geliştirmek için performans çözümleyicisini kullanabilirsiniz. Performans çözümleyicisi, virüsten koruma taramaları sırasında tek tek uç noktalarda performans sorunlarına neden olabilecek dosyaları, dosya uzantılarını ve işlemleri belirlemenize yardımcı olan bir PowerShell komut satırı aracıdır. Performans sorunlarını değerlendirmek ve düzeltme eylemleri uygulamak için performans çözümleyicisi tarafından toplanan bilgileri kullanabilirsiniz.

Performans sorunları olan bir araçta mekaniklerin tanılama ve hizmet gerçekleştirme yöntemine benzer şekilde, performans çözümleyicisi Microsoft Defender Virüsten Koruma performansını geliştirmenize yardımcı olabilir.

Microsoft Defender Virüsten Koruma için kavramsal performans çözümleyici görüntüsü.

Analiz etmek için bazı seçenekler şunlardır:

  • Tarama süresini etkileyen en iyi yollar
  • Tarama süresini etkileyen en önemli dosyalar
  • Tarama süresini etkileyen en önemli işlemler
  • Tarama süresini etkileyen en iyi dosya uzantıları
  • Kombinasyonlar – örneğin:
    • uzantı başına en çok kullanılan dosyalar
    • uzantı başına en iyi yollar
    • yol başına en üstteki işlemler
    • dosya başına en çok tarama
    • işlem başına dosya başına en çok tarama

Performans çözümleyicisi çalıştırma

Performans çözümleyicisini çalıştırmaya yönelik üst düzey işlem aşağıdaki adımları içerir:

  1. Uç nokta üzerindeki Microsoft Defender Virüsten Koruma olaylarının performans kaydını toplamak için performans çözümleyicisini çalıştırın.

    Not

    Türdeki Microsoft-Antimalware-Engine Microsoft Defender Virüsten Koruma olaylarının performansı, performans çözümleyicisi aracılığıyla kaydedilir.

  2. Farklı kayıt raporları kullanarak tarama sonuçlarını analiz edin.

Performans çözümleyicisi kullanma

Sistem olaylarını kaydetmeye başlamak için PowerShell'i yönetici modunda açın ve aşağıdaki adımları uygulayın:

  1. Kaydı başlatmak için aşağıdaki komutu çalıştırın:

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    where -RecordTo parametresi, izleme dosyasının kaydedildiği tam yol konumunu belirtir. Daha fazla cmdlet bilgisi için bkz. Microsoft Defender Virüsten Koruma cmdlet'leri.

  2. Performansı etkilediği düşünülen süreçler veya hizmetler varsa, ilgili görevleri gerçekleştirerek durumu yeniden oluşturun.

  3. Kaydı durdurmak ve kaydetmek için ENTER tuşuna veya kaydı iptal etmek için Ctrl+C tuşlarına basın.

  4. Performans çözümleyicisinin Get-MpPerformanceReport parametresini kullanarak sonuçları analiz edin. Örneğin, komutunu Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10yürütürken kullanıcıya performansı etkileyen ilk üç dosya için ilk on taramanın listesi sağlanır.

    Komut satırı parametreleri ve seçenekleri hakkında daha fazla bilgi için bkz. New-MpPerformanceRecording ve Get-MpPerformanceReport.

Not

Kayıt çalıştırırken "Windows Performans Kaydedicisi zaten kayıtta olduğundan performans kaydı başlatılamıyor" hatasını alırsanız, mevcut izlemeyi yeni komutla durdurmak için aşağıdaki komutu çalıştırın: wpr -cancel -instancename MSFT_MpPerformanceRecording.

Performans ayarlama verileri ve bilgileri

Sorguya bağlı olarak, kullanıcı tarama sayıları, süre (toplam/min/ortalama/maksimum/ortanca), yol, işlem ve tarama nedeni verilerini görüntüleyebilir. Aşağıdaki görüntüde tarama etkisi için ilk 10 dosyanın basit bir sorgusu için örnek çıktı gösterilmektedir.

Temel topfiles sorgusu için örnek çıktı

CSV ve JSON'a dışarı aktarma ve dönüştürme

Performans çözümleyicisinin sonuçları da dışarı aktarılabilir ve csv veya JSON dosyasına dönüştürülebilir. Bu makale, örnek kod aracılığıyla "dışarı aktarma" ve "dönüştürme" işlemini açıklayan örnekler içerir.

Defender sürümünden 4.18.2206.Xbaşlayarak, kullanıcılar sütun altında SkipReason tarama atlama nedeni bilgilerini görüntüleyebilir. Olası değerler:

  • Atlanmamış
  • İyileştirme (genellikle performans nedenlerinden dolayı)
  • Kullanıcı atlandı (genellikle kullanıcı kümesi dışlamaları nedeniyle)

CSV için

  • Dışarı aktarmak için:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
  • Dönüştürmek için:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation

JSON için

  • Dönüştürmek için:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1

Diğer veri işleme sistemleriyle dışarı aktarma için makine tarafından okunabilir bir çıkış sağlamak için parametresinin Get-MpPerformanceReportkullanılması -Raw önerilir. Diğer ayrıntılar için aşağıdaki bölümlere bakın.

PowerShell başvurusu

Microsoft Defender Virüsten Koruma'nın performansını ayarlamak için kullanılan iki yeni PowerShell cmdlet'i vardır:

New-MpPerformanceRecording

Aşağıdaki bölümde yeni PowerShell cmdlet'i New-MpPerformanceRecordingiçin başvuru açıklanmaktadır. Bu cmdlet, Microsoft Defender Virüsten Koruma taramalarının performans kaydını toplar.

Söz dizimi: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Açıklama: New-MpPerformanceRecording

Cmdlet, New-MpPerformanceRecording Microsoft Defender Virüsten Koruma taramalarının performans kaydını toplar. Bu performans kayıtları Microsoft-Antimalware-Engine ve NT çekirdek işlemi olaylarını içerir ve Get-MpPerformanceReport cmdlet'i kullanılarak koleksiyondan sonra analiz edilebilir.

Bu New-MpPerformanceRecording cmdlet, Microsoft Defender Virüsten Koruma'nın performansında düşüşe neden olabilecek sorunlu dosyalar hakkında içgörü sağlar. Bu araç "olduğu gibi" sağlanır ve dışlamalarla ilgili öneriler sağlamak üzere tasarlanmamıştır. Dışlamalar uç noktalarınızdaki koruma düzeyini azaltabilir. Varsa dışlamalar dikkatle tanımlanmalıdır.

Performans çözümleyicisi hakkında daha fazla bilgi için bkz. Performans Analizi belgeleri.

Önemli

Bu cmdlet yükseltilmiş yönetici ayrıcalıkları gerektirir.

Örnekler: New-MpPerformanceRecording

Örnek 1: Performans kaydı toplama ve kaydetme
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

komutu bir performans kaydı toplar ve bunu belirtilen yola kaydeder: .\Defender-scans.etl.

Örnek 2: Uzak PowerShell oturumu için performans kaydı toplama
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

komutu üzerinde Server02 bir performans kaydı toplar (Session parametresinin bağımsız değişkeni $s belirtildiği gibi) ve bunu belirtilen yola kaydeder: C:\LocalPathOnServer02\trace.etl üzerinde Server02.

Parametreler: New-MpPerformanceRecording

-RecordTo

Microsoft Defender Kötü Amaçlı Yazılımdan Koruma performans kaydının kaydedildiği konumu belirtir.

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

Microsoft Defender Virüsten PSSession Koruma performans kaydının oluşturulacağı ve kaydedildiği nesneyi belirtir. Bu komutu kullandığınızda, RecordTo parametresi uzak makinedeki yerel yola başvurur. Defender platform sürümü ve sonraki sürümlerle 4.18.2201.10 kullanılabilir.

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

Get-MpPerformanceReport

Aşağıdaki bölümde PowerShell cmdlet'i Get-MpPerformanceReport açıklanmaktadır. Microsoft Defender Virüsten Koruma performans kaydını analiz eder ve raporlar.

Söz dizimi: 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>]

Açıklama: Get-MpPerformanceReport

Cmdlet, Get-MpPerformanceReport daha önce toplanan bir Microsoft Defender Virüsten Koruma performans kaydını (New-MpPerformanceRecording) analiz eder ve Microsoft Defender Virüsten Koruma taramaları üzerinde en yüksek etkiye neden olan dosya yollarını, dosya uzantılarını ve işlemleri bildirir.

Performans çözümleyicisi, Microsoft Defender Virüsten Koruma'nın performansında düşüşe neden olabilecek sorunlu dosyalar hakkında içgörü sağlar. Bu araç "olduğu gibi" sağlanır ve dışlamalarla ilgili öneriler sağlamak üzere tasarlanmamıştır. Dışlamalar uç noktalarınızdaki koruma düzeyini azaltabilir. Varsa dışlamalar dikkatle tanımlanmalıdır.

Performans çözümleyicisi hakkında daha fazla bilgi için bkz. Performans Analizi belgeleri.

Desteklenen işletim sistemi sürümleri:

Windows Sürüm 10 ve üzeri.

Not

Bu özellik, platform sürümü ve sonraki sürümlerle 4.18.2108.X başlayarak kullanılabilir.

Örnekler: Get-MpPerformanceReport

Örnek 1: Tek sorgu
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Örnek 2: Birden çok sorgu
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Örnek 3: İç içe sorgular
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Örnek 4: -MinDuration parametresini kullanma
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Örnek 5: -Raw parametresini kullanma
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

-Raw komutunda kullanmak, çıkışın makine tarafından okunabilir ve JSON gibi serileştirme biçimlerine dönüştürülebilir olması gerektiğini belirtir.

Parametreler: Get-MpPerformanceReport

-TopPath'ler

Bir üst yol raporu istemektedir ve süreye göre sıralanmış çıkış için en iyi yol sayısını belirtir. Taramaları yollarına ve dizinlerine göre toplar. Kullanıcı, her düzeyde kaç dizin görüntülenmesi gerektiğini ve seçimin derinliğini belirtebilir.

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

Toplanan yol sonuçlarını gruplandırmak ve görüntülemek için kullanılan özyinelemeli derinliği belirtir. Örneğin C:\ , 1 derinliğine karşılık gelir ve C:\Users\Foo 3 derinliğe karşılık gelir.

Bu bayrak, diğer tüm Üst Yol seçeneklerine eşlik edebilir. Eksikse varsayılan değer olan 3 varsayılır. Değer 0 olamaz.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
bayrak tanım
-TopScansPerPath Her üst yol için en çok kaç tarama belirtileceğini belirtir.
-TopFilesPerPath Her üst yol için en çok kaç dosyanın belirtileceğini belirtir.
-TopScansPerFilePerPath "Süre" ölçütüne göre sıralanmış her bir üst yol için her bir üst dosya için kaç tane en çok taramanın çıkışını yapılacağını belirtir
-TopExtensionsPerPath Her üst yol için kaç tane üst uzantının çıkışını yapılacağını belirtir
-TopScansPerExtensionPerPath Her üst yol için her üst uzantı için kaç tane ilk taramanın çıkışını yapılacağını belirtir
-TopProcessesPerPath Her üst yol için kaç tane üst işlem çıkışı yapılacağını belirtir
-TopScansPerProcessPerPath Her üst yol için her bir üst işlem için kaç tane ilk taramanın çıkışını yapılacağını belirtir
-TopPathsPerExtension Her üst uzantı için çıkış için en çok kaç yol olduğunu belirtir
-TopScansPerPathPerExtension Her üst uzantı için her üst yol için kaç tane ilk taramanın çıkışını yapılacağını belirtir
-TopPathsPerProcess Her bir üst işlem için kaç tane üst yol çıkışı yapılacağını belirtir
-TopScansPerPathPerProcess Her üst işlem için her üst yol için kaç tane ilk taramanın çıkışını yapılacağını belirtir
-MinDuration

Rapora dahil edilen dosyaların, uzantıların ve işlemlerin tarama sürelerinin veya toplam tarama sürelerinin en düşük süresini belirtir; , 0.1234ms, 0.1usveya geçerli bir TimeSpan gibi 0.1234567secdeğerleri kabul eder.

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

Bir veya daha fazla konumun yolunu veya yollarını belirtir.

Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Çiğ

Performans kaydının çıktısının makine tarafından okunabilir ve JSON gibi serileştirme biçimlerine (örneğin, JSON'a Dönüştür komutu aracılığıyla) dönüştürülebilir olması gerektiğini belirtir. Bu yapılandırma, diğer veri işleme sistemleriyle toplu işlemeyle ilgilenen kullanıcılar için önerilir.

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

Çıkış için süreye göre sıralanmış en çok kaç uzantı olduğunu belirtir.

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

Süreye göre sıralanmış her bir üst işlem için kaç tane üst uzantının çıkışını yapılacağını belirtir.

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

En çok kullanılan dosyalar raporu isteğinde bulunur ve süreye göre sıralanmış en çok kaç dosyanın çıkışını oluşturacaklarını belirtir.

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

Süreye göre sıralanmış her bir üst uzantı için en çok kaç dosyanın çıkışını yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst işlem için en çok kaç dosyanın çıkışını yapılacağını belirtir.

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

Bir üst işlemler raporu istemektedir ve süreye göre sıralanmış en çok kullanılan işlem sayısını belirtir.

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

Süreye göre sıralanmış her bir üst uzantı için kaç tane en iyi işlemin çıkışını yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst dosya için kaç tane en çok işlem çıkışı yapılacağını belirtir.

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

Bir üst tarama raporu istemektedir ve süreye göre sıralanmış olarak kaç tane en çok tarama yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst uzantı için kaç tane ilk taramanın çıkışını yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst işlem için her üst uzantı için kaç tane en çok tarama yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst dosya için en çok kaç taramanın çıkışını yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst uzantı için her bir üst dosya için çıkış olarak kaç tane en çok tarama yapılacağını belirtir.

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

Süreye göre sıralanmış her üst işlem için her bir üst dosya için çıkış için en çok kaç tarama yapılacağını belirtir.

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

En İyi İşlemler raporundaki her bir üst işlem için, süreye göre sıralanmış olarak kaç tane en çok tarama yapılacağını belirtir.

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

Süreye göre sıralanmış her üst uzantı için her bir üst işlem için çıkış için en çok kaç tarama yapılacağını belirtir.

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

Süreye göre sıralanmış her bir üst dosya için her bir üst işlem için en çok kaç tarama yapıldığını belirtir.

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

İpucu

Daha fazla bilgi edinmek mi istiyorsunuz? Teknoloji Topluluğumuzdaki Microsoft Güvenlik topluluğuyla etkileşime geçin: Uç Nokta için Microsoft Defender Teknoloji Topluluğu.