محلل الأداء لبرنامج الحماية من الفيروسات من Microsoft Defender

ينطبق على

الأنظمة الأساسية

  • بالنسبة لنظام التشغيل

المتطلبات

يحتوي محلل أداء برنامج الحماية من الفيروسات من Microsoft Defender على المتطلبات الأساسية التالية:

  • إصدارات Windows المدعومة:
    • Windows 10
    • Windows 11
    • Windows Server 2016 والإصدارات الأحدث
    • Windows Server 2012 R2 (عند إلحاقه باستخدام حل حديث وموحد)
    • بالنسبة إلى Windows Server 2012 R2، يلزم وجود Windows ADK (مجموعة أدوات أداء Windows). تنزيل Windows ADK وتثبيته
  • إصدار النظام الأساسي: 4.18.2108.7 أو أحدث
  • إصدار PowerShell: PowerShell الإصدار 5.1، PowerShell ISE، PowerShell البعيد (4.18.2201.10+)، PowerShell 7.x (4.18.2201.10+)

ما هو محلل أداء برنامج الحماية من الفيروسات من Microsoft Defender؟

إذا كانت الأجهزة التي تقوم بتشغيل برنامج الحماية من الفيروسات من Microsoft Defender تواجه مشكلات في الأداء، يمكنك استخدام محلل الأداء لتحسين أداء برنامج الحماية من الفيروسات من Microsoft Defender. محلل الأداء هو أداة سطر أوامر PowerShell تساعدك على تحديد الملفات وملحقات الملفات والعمليات التي قد تسبب مشكلات في الأداء على نقاط النهاية الفردية أثناء عمليات فحص مكافحة الفيروسات. يمكنك استخدام المعلومات التي جمعها محلل الأداء لتقييم مشكلات الأداء وتطبيق إجراءات المعالجة.

على غرار الطريقة التي يقوم بها الميكانيكا بإجراء التشخيص والخدمة على مركبة بها مشكلات في الأداء، يمكن أن يساعدك محلل الأداء على تحسين أداء برنامج الحماية من الفيروسات من Microsoft Defender.

صورة محلل الأداء المفاهيمي لبرنامج الحماية من الفيروسات من Microsoft Defender.

تتضمن بعض الخيارات التي يجب تحليلها ما يلي:

  • أهم المسارات التي تؤثر على وقت الفحص
  • أهم الملفات التي تؤثر على وقت الفحص
  • أهم العمليات التي تؤثر على وقت الفحص
  • أهم ملحقات الملفات التي تؤثر على وقت الفحص
  • المجموعات - على سبيل المثال:
    • أهم الملفات لكل ملحق
    • أهم المسارات لكل ملحق
    • أهم العمليات لكل مسار
    • أهم عمليات الفحص لكل ملف
    • أهم عمليات الفحص لكل ملف لكل عملية

تشغيل محلل الأداء

تتضمن العملية عالية المستوى لتشغيل محلل الأداء الخطوات التالية:

  1. قم بتشغيل محلل الأداء لجمع تسجيل أداء أحداث برنامج الحماية من الفيروسات من Microsoft Defender على نقطة النهاية.

    ملاحظة

    يتم تسجيل أداء أحداث برنامج الحماية من الفيروسات من Microsoft Defender من النوع Microsoft-Antimalware-Engine من خلال محلل الأداء.

  2. تحليل نتائج الفحص باستخدام تقارير تسجيل مختلفة.

استخدام محلل الأداء

لبدء تسجيل أحداث النظام، افتح PowerShell في وضع المسؤول وقم بتنفيذ الخطوات التالية:

  1. قم بتشغيل الأمر التالي لبدء التسجيل:

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    حيث -RecordTo تحدد المعلمة موقع المسار الكامل الذي يتم حفظ ملف التتبع فيه. لمزيد من معلومات cmdlet، راجع أوامر cmdlets لبرنامج الحماية من الفيروسات من Microsoft Defender.

  2. إذا كانت هناك عمليات أو خدمات يعتقد أنها تؤثر على الأداء، فعادة إنتاج الموقف من خلال تنفيذ المهام ذات الصلة.

  3. اضغط على ENTER لإيقاف التسجيل وحفظه، أو Ctrl+C لإلغاء التسجيل.

  4. تحليل النتائج باستخدام معلمة محلل Get-MpPerformanceReport الأداء. على سبيل المثال، عند تنفيذ الأمر Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10، يتم تزويد المستخدم بقائمة من أفضل عشرة عمليات فحص للملفات الثلاثة الأولى التي تؤثر على الأداء.

    لمزيد من المعلومات حول معلمات وخيارات سطر الأوامر، راجع New-MpPerformanceRecording و Get-MpPerformanceReport.

ملاحظة

عند تشغيل تسجيل، إذا تلقيت الخطأ "لا يمكن بدء تسجيل الأداء لأن مسجل أداء Windows يسجل بالفعل"، فقم بتشغيل الأمر التالي لإيقاف التتبع الموجود باستخدام الأمر الجديد: wpr -cancel -instancename MSFT_MpPerformanceRecording.

بيانات ومعلومات ضبط الأداء

استنادا إلى الاستعلام، يمكن للمستخدم عرض البيانات لعدد عمليات الفحص والمدة (الإجمالي/الحد الأدنى/المتوسط/الحد الأقصى/المتوسط) والمسار والعملية وسبب الفحص. تظهر الصورة التالية عينة إخراج لاستعلام بسيط عن أفضل 10 ملفات لتأثير الفحص.

مثال على الإخراج لاستعلام TopFiles الأساسي

التصدير والتح التحويل إلى CSV وJSON

يمكن أيضا تصدير نتائج محلل الأداء وتحويلها إلى ملف CSV أو JSON. تتضمن هذه المقالة أمثلة تصف عملية "التصدير" و"التحويل" من خلال نموذج التعليمات البرمجية.

بدءا من إصدار 4.18.2206.XDefender ، يمكن للمستخدمين عرض معلومات سبب تخطي الفحص ضمن SkipReason العمود. تشمل القيم المحتملة ما يلي:

  • لم يتم تخطيه
  • التحسين (عادة لأسباب تتعلق بالأداء)
  • تم تخطي المستخدم (عادة بسبب استثناءات مجموعة المستخدم)

ل CSV

  • للتصدير:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
  • للتحويل:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation

بالنسبة إلى JSON

  • للتحويل:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1

لضمان الإخراج القابل للقراءة آليا للتصدير مع أنظمة معالجة البيانات الأخرى، يوصى باستخدام -Raw المعلمة ل Get-MpPerformanceReport. راجع الأقسام التالية لمزيد من التفاصيل.

مرجع PowerShell

هناك نوعان من أوامر PowerShell cmdlets الجديدة المستخدمة لضبط أداء برنامج الحماية من الفيروسات من Microsoft Defender:

New-MpPerformanceRecording

يصف القسم التالي مرجع PowerShell cmdlet New-MpPerformanceRecordingالجديد . يجمع cmdlet هذا تسجيل أداء عمليات فحص برنامج الحماية من الفيروسات من Microsoft Defender.

بناء الجملة: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

الوصف: New-MpPerformanceRecording

New-MpPerformanceRecording يجمع cmdlet تسجيل أداء عمليات فحص برنامج الحماية من الفيروسات من Microsoft Defender. تحتوي تسجيلات الأداء هذه على أحداث عملية Microsoft-Antimalware-Engine وNT kernel ويمكن تحليلها بعد التجميع باستخدام الأمر cmdlet Get-MpPerformanceReport .

يوفر cmdlet هذا New-MpPerformanceRecording نظرة ثاقبة على الملفات المسببة للمشاكل التي قد تتسبب في تدهور أداء برنامج الحماية من الفيروسات من Microsoft Defender. يتم توفير هذه الأداة "كما هي"، ولا تهدف إلى تقديم اقتراحات حول الاستثناءات. يمكن أن تقلل الاستثناءات من مستوى الحماية على نقاط النهاية الخاصة بك. وينبغي تعريف الاستثناءات، إن وجدت، بحذر.

لمزيد من المعلومات حول محلل الأداء، راجع مستندات محلل الأداء .

هام

يتطلب الأمر cmdlet هذا امتيازات مسؤول مرتفعة.

أمثلة: New-MpPerformanceRecording

مثال 1: جمع تسجيل أداء وحفظه
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

يجمع الأمر تسجيل أداء ويحفظه في المسار المحدد: .\Defender-scans.etl.

مثال 2: جمع تسجيل أداء لجلسة PowerShell البعيدة
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

يجمع الأمر تسجيل أداء على Server02 (كما هو محدد بواسطة الوسيطة $s المعلمة Session) ويحفظه في المسار المحدد: C:\LocalPathOnServer02\trace.etl على Server02.

المعلمات: New-MpPerformanceRecording

-RecordTo

يحدد الموقع الذي يتم فيه حفظ تسجيل أداء Microsoft Defender Antimalware.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-جلسة

يحدد الكائن الذي PSSession سيتم إنشاء وحفظ تسجيل أداء برنامج الحماية من الفيروسات من Microsoft Defender. عند استخدام هذا الأمر، تشير المعلمة RecordTo إلى المسار المحلي على الجهاز البعيد. متوفر مع إصدار 4.18.2201.10 النظام الأساسي ل Defender والإصدارات الأحدث.

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

Get-MpPerformanceReport

يصف Get-MpPerformanceReport القسم التالي PowerShell cmdlet. يحلل وتقارير حول تسجيل أداء برنامج الحماية من الفيروسات من Microsoft Defender.

بناء الجملة: 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>]

الوصف: Get-MpPerformanceReport

يحلل Get-MpPerformanceReport cmdlet تسجيل أداء برنامج الحماية من الفيروسات من Microsoft Defender الذي تم جمعه مسبقا (New-MpPerformanceRecording) ويبلغ عن مسارات الملفات وملحقات الملفات والعمليات التي تسبب أعلى تأثير لعمليات فحص برنامج الحماية من الفيروسات من Microsoft Defender.

يوفر محلل الأداء نظرة ثاقبة على الملفات المسببة للمشاكل التي قد تتسبب في تدهور أداء برنامج الحماية من الفيروسات من Microsoft Defender. يتم توفير هذه الأداة "كما هي" ولا تهدف إلى تقديم اقتراحات حول الاستثناءات. يمكن أن تقلل الاستثناءات من مستوى الحماية على نقاط النهاية الخاصة بك. وينبغي تعريف الاستثناءات، إن وجدت، بحذر.

لمزيد من المعلومات حول محلل الأداء، راجع مستندات محلل الأداء .

إصدارات نظام التشغيل المدعومة:

الإصدار 10 من Windows والإصدارات الأحدث.

ملاحظة

تتوفر هذه الميزة بدءا من إصدار 4.18.2108.X النظام الأساسي والإصدارات الأحدث.

أمثلة: Get-MpPerformanceReport

مثال 1: استعلام واحد
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
مثال 2: استعلامات متعددة
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
مثال 3: الاستعلامات المتداخلة
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
مثال 4: استخدام المعلمة -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
مثال 5: استخدام المعلمة -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

يحدد استخدام -Raw في الأمر أن الإخراج يجب أن يكون قابلا للقراءة الآلية وقابلا للتحويل بسهولة إلى تنسيقات التسلسل مثل JSON.

المعلمات: Get-MpPerformanceReport

-TopPaths

يطلب تقرير المسارات العليا ويحدد عدد المسارات العليا للإخراج، التي تم فرزها حسب المدة. تجميع عمليات الفحص استنادا إلى مسارها ودليلها. يمكن للمستخدم تحديد عدد الدلائل التي يجب عرضها على كل مستوى وعمق التحديد.

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

يحدد العمق المتكرر المستخدم لتجميع نتائج المسار المجمعة وعرضها. على سبيل المثال C:\ يتوافق مع عمق 1، ويتوافق C:\Users\Foo مع عمق 3.

يمكن أن تصاحب هذه العلامة جميع خيارات المسار العلوي الأخرى. إذا كانت مفقودة، افتراض قيمة افتراضية تبلغ 3. لا يمكن أن تكون القيمة 0.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
علم تعريف
-TopScansPerPath يحدد عدد عمليات الفحص العليا التي يجب تحديدها لكل مسار علوي.
-TopFilesPerPath يحدد عدد الملفات العليا التي يجب تحديدها لكل مسار علوي.
-TopScansPerFilePerPath تحديد عدد عمليات الفحص العليا التي يجب إخراجها لكل ملف علوي لكل مسار علوي، تم فرزها حسب "المدة"
-TopExtensionsPerPath تحديد عدد الملحقات العليا التي يجب إخراجها لكل مسار علوي
-TopScansPerExtensionPerPath تحديد عدد عمليات الفحص العليا التي يجب إخراجها لكل ملحق علوي لكل مسار علوي
-TopProcessesPerPath تحديد عدد العمليات العليا التي يجب إخراجها لكل مسار علوي
-TopScansPerProcessPerPath تحديد عدد عمليات الفحص العليا التي يجب إخراجها لكل عملية علوية لكل مسار علوي
-TopPathsPerExtension تحديد عدد المسارات العليا للإخراج لكل ملحق علوي
-TopScansPerPathPerExtension تحديد عدد عمليات الفحص العليا التي يجب إخراجها لكل مسار علوي لكل ملحق علوي
-TopPathsPerProcess تحديد عدد المسارات العليا للإخراج لكل عملية علوية
-TopScansPerPathPerProcess تحديد عدد عمليات الفحص العليا التي يجب إخراجها لكل مسار علوي لكل عملية علوية
-MinDuration

يحدد الحد الأدنى لمدة أي فحص أو إجمالي مدد الفحص للملفات والملحقات والعمليات المضمنة في التقرير؛ يقبل قيما مثل 0.1234567secأو 0.1234ms0.1usأو أو فترة زمنية صالحة.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-مسار

يحدد المسار أو المسارات إلى موقع واحد أو أكثر.

Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-نيء

يحدد أن إخراج تسجيل الأداء يجب أن يكون قابلا للقراءة الآلية وقابلا للتحويل بسهولة إلى تنسيقات التسلسل مثل JSON (على سبيل المثال، عبر أمر Convert-to-JSON). يوصى بهذا التكوين للمستخدمين المهتمين بمعالجة الدفعات مع أنظمة معالجة البيانات الأخرى.

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

يحدد عدد الملحقات العليا للإخراج، التي تم فرزها حسب المدة.

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

يحدد عدد الملحقات العليا التي يجب إخراجها لكل عملية علوية، يتم فرزها حسب المدة.

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

يطلب تقرير الملفات العليا ويحدد عدد الملفات الأعلى المطلوب إخراجها، والتي تم فرزها حسب المدة.

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

يحدد عدد الملفات العليا التي يجب إخراجها لكل ملحق علوي، يتم فرزها حسب المدة.

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

يحدد عدد الملفات العليا التي يجب إخراجها لكل عملية علوية، يتم فرزها حسب المدة.

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

يطلب تقرير العمليات العليا ويحدد عدد العمليات العليا للإخراج، التي تم فرزها حسب المدة.

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

يحدد عدد العمليات العليا التي يجب إخراجها لكل ملحق علوي، يتم فرزها حسب المدة.

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

يحدد عدد العمليات العليا التي يجب إخراجها لكل ملف علوي، يتم فرزها حسب المدة.

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

يطلب تقرير عمليات الفحص الأعلى ويحدد عدد عمليات المسح الأعلى للإخراج، التي تم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا التي يجب إخراجها لكل ملحق علوي، يتم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا التي يجب إخراجها لكل ملحق علوي لكل عملية علوية، يتم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا التي يجب إخراجها لكل ملف علوي، يتم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا التي يجب إخراجها لكل ملف علوي لكل ملحق علوي، يتم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا للإخراج لكل ملف علوي لكل عملية علوية، يتم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا التي يجب إخراجها لكل عملية أعلى في تقرير أهم العمليات، التي تم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا للإخراج لكل عملية علوية لكل ملحق علوي، تم فرزها حسب المدة.

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

يحدد عدد عمليات الفحص العليا للإخراج لكل عملية أعلى لكل ملف علوي، يتم فرزها حسب المدة.

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

تلميح

هل تريد معرفة المزيد؟ التفاعل مع مجتمع أمان Microsoft في مجتمع التكنولوجيا لدينا: Microsoft Defender for Endpoint Tech Community.