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: Modern Birleşik Çözüm ile Windows 10, Windows 11, Windows 2012 R2 ve Windows Server 2016 ve üzeri
  • 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 bilgisayarlarda performans sorunları yaşanıyorsa, Microsoft Defender Virüsten Koruma'nın performansını geliştirmek için performans çözümleyicisini kullanabilirsiniz. Windows 10, Windows 11 ve Windows Server'da Microsoft Defender Virüsten Koruma için performans çözümleyicisi, virüsten koruma taramaları sırasında ayrı 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 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ü. Diyagramla ilgili: Microsoft Defender performans çözümleyicisi, Defender performans çözümleyicisi, Get-MpPerformanceRepor, New-MpPerformanceRecording, windows Defender, microsoft Defender, microsoft windows 10, microsoft Defender virüsten koruma, mikro yazılımdan koruma windows 11, windows virüsten koruma, microsoft virüsten koruma, windows Defender virüsten koruma, Windows 10 virüsten koruma, microsoft windows Defender, performans Windows.

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ç noktadaki Microsoft Defender Virüsten Koruma olaylarının performans kaydını toplamak için performans çözümleyicisini çalıştırın.

    Not

    Microsoft-Antimalware-Engine türündeki 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önetim modunda açın ve aşağıdaki adımları gerçekleştirin:

  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. virüsten koruma cmdlet'leri Microsoft Defender.

  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, yeni komutla var olan izlemeyi 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ı

Ek işlevsellik: 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. Örnek kodlar aracılığıyla "dışarı aktarma" ve "dönüştürme" işlemini açıklayan örnekler için aşağıdaki bölümlere bakın.

Defender sürümünden 4.18.2206.Xbaşlayarak, kullanıcılar "SkipReason" sütunu altında 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 New-MpPerformanceRecording yeni PowerShell cmdlet'inin başvurusu 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

Yukarıdaki komut 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

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

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 Koruma performans kaydının oluşturulup kaydedildiği PSSession nesnesini belirtir. Bu parametreyi kullandığınızda, RecordTo parametresi uzak makinedeki yerel yola başvurur. Defender platformu sürüm 4.18.2201.10 ile 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 Get-MpPerformanceReport PowerShell cmdlet'i açıklanmaktadır. Microsoft Defender Virüsten Koruma performans kaydıyla ilgili analizler ve raporlar.

Söz dizimi: Get-MpPerformanceReport

Get-MpPerformanceReport [-Path] <String>
    [-TopScans [<Int32>]]
    [-TopPaths [<Int32>] [-TopPathsDepth [<Int32>]]]
            [-TopScansPerPath [<Int32>]]
            [-TopFilesPerPath [<Int32>]
                    [-TopScansPerFilePerPath [<Int32>]]
                    ]
            [-TopExtensionsPerPath [<Int32>]
                    [-TopScansPerExtensionPerPath [<Int32>]]
                    ]
            [-TopProcessesPerPath [<Int32>]
                    [-TopScansPerProcessPerPath [<Int32>]]
                    ]
            ]
    [-TopFiles [<Int32>]
            [-TopScansPerFile [<Int32>]]
            [-TopProcessesPerFile [<Int32>]
                    [-TopScansPerProcessPerFile [<Int32>]]
                    ]
            ]
    [-TopExtensions [<Int32>]
            [-TopScansPerExtension [<Int32>]
            [-TopPathsPerExtension [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerExtension [<Int32>]]
                    ]
            [-TopProcessesPerExtension [<Int32>]
                    [-TopScansPerProcessPerExtension [<Int32>]]
                    ]
            [-TopFilesPerExtension [<Int32>]
                    [-TopScansPerFilePerExtension [<Int32>]]
                    ]
            ]
    [-TopProcesses [<Int32>]
            [-TopScansPerProcess [<Int32>]]
            [-TopExtensionsPerProcess [<Int32>]
                    [-TopScansPerExtensionPerProcess [<Int32>]]
                    ]
            [-TopPathsPerProcess [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerProcess [<Int32>]]
                    ]
            [-TopFilesPerProcess [<Int32>]
                    [-TopScansPerFilePerProcess [<Int32>]]
                    ]
            ]
    [-MinDuration <String>]
    [-Raw]

Açıklama: Get-MpPerformanceReport

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

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, 4.18.2108.X ve sonraki platform sürümlerinden itibaren 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

Yukarıdaki komutta -Raw kullanılması, çı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 isteğinde bulunur ve süreye göre sıralanmış olarak çı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ğe karşılık gelir, "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,1234567sec, 0,1234 ms, 0,1us veya geçerli bir TimeSpan gibi değerleri kabul eder.

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

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
-Ham

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 çok işlem çıkarılması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 en çok kaç işlemin çıkışlanacağı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 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
-TopScansPerExtensionPerProcess

Süreye göre sıralanmış her üst işlem için her bir üst uzantı 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
-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 ü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

Üst İş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 en çok kaç tarama yapıldığı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

Ek kaynaklar

Diğer platformlar için Virüsten Koruma ile ilgili bilgileri arıyorsanız bkz:

İpucu

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