Microsoft Defender Virüsten Koruma için performans çözümleyicisi
Uygulandığı öğe
- Uç Nokta için Microsoft Defender Planı 1
- Uç Nokta için Microsoft Defender Planı 2
- Microsoft Defender Virüsten Koruma
Platform
- Windows
Gereksinimler
Microsoft Defender Virüsten Koruma performans çözümleyicisi aşağıdaki önkoşullara sahiptir:
- Desteklenen Windows sürümleri:
- Windows 10
- Windows 11
- Windows Server 2016 ve üzeri
- Windows Server 2012 R2 ( modern, birleşik çözüm kullanılarak eklendiğinde)
- Windows Server 2012 R2 için Windows ADK (Windows Performans Araç Seti) gereklidir. Windows ADK'yi indirme ve yükleme
- 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.
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:
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.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:
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.Performansı etkilediği düşünülen süreçler veya hizmetler varsa, ilgili görevleri gerçekleştirerek durumu yeniden oluşturun.
Kaydı durdurmak ve kaydetmek için ENTER tuşuna veya kaydı iptal etmek için Ctrl+C tuşlarına basın.
Performans çözümleyicisinin
Get-MpPerformanceReport
parametresini kullanarak sonuçları analiz edin. Örneğin, komutunuGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
yü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.
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.X
baş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-MpPerformanceReport
kullanı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-MpPerformanceRecording
iç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.1us
veya geçerli bir TimeSpan gibi 0.1234567sec
değ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.