مشاركة عبر


Invoke-ScriptAnalyzer

تقييم برنامج نصي أو وحدة نمطية استنادا إلى قواعد أفضل الممارسات المحددة

بناء الجملة

Path_SuppressedOnly (افتراضي)

Invoke-ScriptAnalyzer
    [-Path] <string>
    [-CustomRulePath <string[]>]
    [-RecurseCustomRulePath]
    [-IncludeDefaultRules]
    [-ExcludeRule <string[]>]
    [-IncludeRule <string[]>]
    [-Severity <string[]>]
    [-Recurse]
    [-SuppressedOnly]
    [-Fix]
    [-EnableExit]
    [-Settings <Object>]
    [-SaveDscDependency]
    [-ReportSummary]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Path_IncludeSuppressed

Invoke-ScriptAnalyzer
    [-Path] <string>
    -IncludeSuppressed
    [-CustomRulePath <string[]>]
    [-RecurseCustomRulePath]
    [-IncludeDefaultRules]
    [-ExcludeRule <string[]>]
    [-IncludeRule <string[]>]
    [-Severity <string[]>]
    [-Recurse]
    [-Fix]
    [-EnableExit]
    [-Settings <Object>]
    [-SaveDscDependency]
    [-ReportSummary]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ScriptDefinition_IncludeSuppressed

Invoke-ScriptAnalyzer
    [-ScriptDefinition] <string>
    -IncludeSuppressed
    [-CustomRulePath <string[]>]
    [-RecurseCustomRulePath]
    [-IncludeDefaultRules]
    [-ExcludeRule <string[]>]
    [-IncludeRule <string[]>]
    [-Severity <string[]>]
    [-Recurse]
    [-EnableExit]
    [-Settings <Object>]
    [-SaveDscDependency]
    [-ReportSummary]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ScriptDefinition_SuppressedOnly

Invoke-ScriptAnalyzer
    [-ScriptDefinition] <string>
    [-CustomRulePath <string[]>]
    [-RecurseCustomRulePath]
    [-IncludeDefaultRules]
    [-ExcludeRule <string[]>]
    [-IncludeRule <string[]>]
    [-Severity <string[]>]
    [-Recurse]
    [-SuppressedOnly]
    [-EnableExit]
    [-Settings <Object>]
    [-SaveDscDependency]
    [-ReportSummary]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

الوصف

يقوم Invoke-ScriptAnalyzer بتقييم البرامج النصية أو ملفات الوحدة النمطية (.ps1وملفات .psm1.psd1) استنادا إلى مجموعة من قواعد أفضل الممارسات وإرجاع الكائنات التي تمثل انتهاكات للقاعدة. كما يتضمن قواعد خاصة لتحليل موارد DSC.

Invoke-ScriptAnalyzer يأتي مع مجموعة من القواعد المضمنة. بشكل افتراضي، يستخدم جميع القواعد. يمكنك استخدام المعلمتين IncludeRuleExcludeRule لتحديد القواعد التي تريدها. يمكنك استخدام Get-ScriptAnalyzerRule cmdlet لفحص القواعد التي تريد تضمينها أو استبعادها من التقييم وتحديدها.

يمكنك أيضا استخدام القواعد المخصصة التي تكتبها في البرامج النصية PowerShell، أو التحويل البرمجي في تجميعات باستخدام C#. يمكن أيضا تحديد القواعد المخصصة باستخدام المعلمتين IncludeRule ExcludeRule.

يمكنك أيضا تضمين قاعدة في التحليل، ولكن منع إخراج تلك القاعدة للوظائف أو البرامج النصية المحددة. يجب استخدام هذه الميزة فقط عند الضرورة. للحصول على القواعد التي تم منعها، قم بتشغيل Invoke-ScriptAnalyzer باستخدام المعلمة SuppressedOnly.

للاستخدام في أنظمة CI، EnableExit الخروج من shell مع رمز خروج يساوي عدد سجلات الأخطاء.

أمثلة

مثال 1 - تشغيل جميع قواعد Script Analyzer على برنامج نصي

Invoke-ScriptAnalyzer -Path C:\Scripts\Get-LogData.ps1

مثال 2 - تشغيل جميع قواعد Script Analyzer على جميع الملفات في دليل Modules

يقوم هذا المثال بتشغيل كافة قواعد Script Analyzer على جميع ملفات .ps1 وملفات .psm1 في دليل Modules المستند إلى المستخدم ودلائله الفرعية.

Invoke-ScriptAnalyzer -Path $home\Documents\WindowsPowerShell\Modules -Recurse

مثال 3 - تشغيل قاعدة واحدة على وحدة نمطية

يعمل هذا المثال فقط على PSAvoidUsingPositionalParameters القاعدة على الملفات الموجودة في مجلد الوحدة النمطية PSDiagnostics. يمكنك استخدام أمر مثل هذا للعثور على جميع مثيلات انتهاك قاعدة معينة.

Invoke-ScriptAnalyzer -Path C:\Windows\System32\WindowsPowerShell\v1.0\Modules\PSDiagnostics -IncludeRule PSAvoidUsingPositionalParameters

مثال 4 - تشغيل جميع القواعد باستثناء قاعدتين على الوحدات النمطية الخاصة بك

يقوم هذا المثال بتشغيل كافة القواعد باستثناء PSAvoidUsingCmdletAliases وعناوين URL PSAvoidUsingInternalURLs على .ps1 وملفات .psm1 في دليل MyModules وفي الدلائل الفرعية الخاصة به.

Invoke-ScriptAnalyzer -Path C:\ps-test\MyModule -Recurse -ExcludeRule PSAvoidUsingCmdletAliases, PSAvoidUsingInternalURLs

مثال 5 - تشغيل محلل البرامج النصية مع قواعد مخصصة

يقوم هذا المثال بتشغيل Script Analyzer على Test-Script.ps1 مع القواعد والقواعد القياسية في مسار C:\CommunityAnalyzerRules.

Invoke-ScriptAnalyzer -Path D:\test_scripts\Test-Script.ps1 -CustomRulePath C:\CommunityAnalyzerRules -IncludeDefaultRules

مثال 6 - تشغيل القواعد التي تكون خطورة الخطأ فقط واسم مصدر PSDSC

$DSCError = Get-ScriptAnalyzerRule -Severity Error | Where SourceName -eq PSDSC
$Path = "$home\Documents\WindowsPowerShell\Modules\MyDSCModule"
Invoke-ScriptAnalyzerRule -Path $Path -IncludeRule $DSCError -Recurse

مثال 7 - منع انتهاكات القواعد

يوضح هذا المثال كيفية منع الإبلاغ عن انتهاكات القاعدة في دالة وكيفية اكتشاف انتهاكات القاعدة التي تم منعها.

يستخدم المثال السمة SuppressMessageAttribute لمنع PSUseSingularNouns PSAvoidUsingCmdletAliases لدالة Get-Widgets في البرنامج النصي Get-Widgets.ps1. يمكنك استخدام هذه السمة لمنع قاعدة لوحدة نمطية أو برنامج نصي أو فئة أو دالة أو معلمة أو سطر.

يقوم الأمر الأول بتشغيل Script Analyzer على ملف البرنامج النصي الذي يحتوي على الدالة . يبلغ الإخراج عن انتهاك للقاعدة. على الرغم من انتهاك المزيد من القواعد، لا يتم الإبلاغ عن أي قاعدة تم منعها.

function Get-Widgets
{
    [CmdletBinding()]
    [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseSingularNouns", "")]
    [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingCmdletAliases", "", Justification="Resolution in progress.")]
    Param()

    dir $pshome
    ...
}

Invoke-ScriptAnalyzer -Path .\Get-Widgets.ps1
RuleName                            Severity     FileName   Line  Message
--------                            --------     --------   ----  -------
PSProvideCommentHelp                Information  ManageProf 14    The cmdlet 'Get-Widget' does not have a help comment.
                                                 iles.psm1
Invoke-ScriptAnalyzer -Path .\Get-Widgets.ps1 -SuppressedOnly
Rule Name                           Severity     File Name  Line  Justification
---------                           --------     ---------  ----  -------------
PSAvoidUsingCmdletAliases           Warning      ManageProf 21    Resolution in progress.
                                                 iles.psm1
PSUseSingularNouns                  Warning      ManageProf 14
                                                 iles.psm1

يستخدم الأمر الثاني المعلمة SuppressedOnly للإبلاغ عن انتهاكات القواعد التي تم منعها لملف البرنامج النصي.

مثال 8 - تحليل ملفات البرنامج النصي باستخدام تعريف ملف تعريف

في هذا المثال، نقوم بإنشاء ملف تعريف محلل البرامج النصية وحفظه في ملف ScriptAnalyzerProfile.txt في الدليل الحالي. نقوم بتشغيل Invoke-ScriptAnalyzer على ملفات الوحدة النمطية BitLocker. قيمة المعلمة ملف تعريف هي المسار إلى ملف تعريف محلل البرنامج النصي.

# In .\ScriptAnalyzerProfile.txt
@{
    Severity = @('Error', 'Warning')
    IncludeRules = 'PSAvoid*'
    ExcludeRules = '*WriteHost'
}

Invoke-ScriptAnalyzer -Path $pshome\Modules\BitLocker -Settings .\ScriptAnalyzerProfile.txt

إذا قمت بتضمين معلمة متعارضة في الأمر Invoke-ScriptAnalyzer، مثل -Severity Error، يستخدم cmdlet قيمة ملف التعريف ويتجاهل المعلمة.

مثال 9 - تحليل برنامج نصي مخزن كسلسلة

يستخدم هذا المثال المعلمة ScriptDefinition لتحليل دالة في سطر الأوامر. سلسلة الدالة محاطة بعلامات اقتباس.

Invoke-ScriptAnalyzer -ScriptDefinition "function Get-Widgets {Write-Host 'Hello'}"
RuleName                            Severity     FileName   Line  Message
--------                            --------     --------   ----  -------
PSAvoidUsingWriteHost               Warning                 1     Script
                                                                  because
                                                                  there i
                                                                  suppres
                                                                  Write-O
PSUseSingularNouns                  Warning                 1     The cmd
                                                                  noun sh

عند استخدام المعلمة ScriptDefinition، يتم الخاصية FileName $null .

المعلمات

-Confirm

يطالبك بالتأكيد قبل تشغيل cmdlet.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False
الأسماء المستعارة:انظر

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-CustomRulePath

أدخل المسار إلى ملف يعرف القواعد أو الدليل الذي يحتوي على ملفات تحدد القواعد. يتم اعتماد أحرف البدل. عند تحديد CustomRulePath، يتم استخدام القواعد المخصصة الموجودة في المسارات المحددة فقط للتحليل. إذا تعذر على Invoke-ScriptAnalyzer العثور على القواعد في ، فإنه يقوم بتشغيل القواعد القياسية دون إشعار.

لإضافة قواعد معرفة في الدلائل الفرعية للمسار، استخدم المعلمة RecurseCustomRulePath. لتضمين القواعد المضمنة، أضف المعلمة IncludeDefaultRules.

خصائص المعلمات

النوع:

String[]

القيمة الافتراضية:None
يدعم أحرف البدل:True
DontShow:False
الأسماء المستعارة:CustomizedRulePath

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-EnableExit

عند الانتهاء من التحليل، تخرج هذه المعلمة جلسات عمل PowerShell وتعيد رمز إنهاء يساوي عدد سجلات الأخطاء. يمكن أن يكون هذا مفيدا في البنية الأساسية لبرنامج ربط العمليات التجارية للتكامل المستمر (CI).

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-ExcludeRule

حذف القواعد المحددة من اختبار Script Analyzer. يتم اعتماد أحرف البدل.

أدخل قائمة مفصولة بفواصل بأسماء القواعد أو متغير يحتوي على أسماء قواعد أو أمر يحصل على أسماء القواعد. يمكنك أيضا تحديد قائمة القواعد المستبعدة في ملف تعريف محلل البرامج النصية. يمكنك استبعاد القواعد والقواعد القياسية في مسار قاعدة مخصص.

عند استبعاد قاعدة، لا يتم تشغيل القاعدة على أي من الملفات في المسار. لاستبعاد قاعدة على سطر أو معلمة أو دالة أو برنامج نصي أو فئة معينة، اضبط معلمة المسار أو منع القاعدة. للحصول على معلومات حول منع قاعدة، راجع الأمثلة.

إذا تم تحديد قاعدة في كل من ExcludeRule ومجموعات IncludeRule، يتم استبعاد القاعدة.

خصائص المعلمات

النوع:

String[]

القيمة الافتراضية:All rules are included.
يدعم أحرف البدل:True
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-Fix

إصلاح بعض التحذيرات التي تحتوي على إصلاح في DiagnosticRecord.

عند استخدام Fix، Invoke-ScriptAnalyzer تطبيق الإصلاحات قبل تشغيل التحليل. تأكد من أن لديك نسخة احتياطية من ملفاتك عند استخدام هذه المعلمة. يحاول الاحتفاظ لترميز الملف ولكن لا تزال هناك بعض الحالات التي يمكن أن يتغير فيها الترميز.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

Path_SuppressedOnly
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False
Path_IncludeSuppressed
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-IncludeDefaultRules

استدعاء القواعد الافتراضية مع القواعد المخصصة.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-IncludeRule

تشغيل القواعد المحددة فقط في اختبار Script Analyzer. بشكل افتراضي، يقوم PSScriptAnalyzer بتشغيل جميع القواعد.

أدخل قائمة مفصولة بفواصل بأسماء القواعد أو متغير يحتوي على أسماء قواعد أو أمر يحصل على أسماء القواعد. يتم اعتماد أحرف البدل. يمكنك أيضا تحديد أسماء القواعد في ملف تعريف محلل البرامج النصية.

عند استخدام المعلمة CustomizedRulePath، يمكنك استخدام هذه المعلمة لتضمين القواعد والقواعد القياسية في مسارات القواعد المخصصة.

إذا تم تحديد قاعدة في كل من ExcludeRule ومجموعات IncludeRule، يتم استبعاد القاعدة.

المعلمة خطورة لها الأسبقية على IncludeRule. على سبيل المثال، إذا كانت الخطورةError، فلا يمكنك استخدام IncludeRule لتضمين قاعدة Warning.

خصائص المعلمات

النوع:

String[]

القيمة الافتراضية:All rules are included.
يدعم أحرف البدل:True
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-IncludeSuppressed

تضمين التشخيصات الممنعة في الإخراج.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

Path_IncludeSuppressed
Position:Named
إلزامي:True
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False
ScriptDefinition_IncludeSuppressed
Position:Named
إلزامي:True
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-Path

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

أدخل المسار إلى برنامج نصي (.ps1) أو ملف وحدة نمطية (.psm1) أو إلى دليل يحتوي على برامج نصية أو وحدات نمطية. إذا كان الدليل يحتوي على أنواع أخرى من الملفات، يتم تجاهلها.

لتحليل الملفات غير الموجودة في الدليل الجذر للمسار المحدد، استخدم حرف بدل (C:\Modules\MyModule\*) أو معلمة Recurse.

خصائص المعلمات

النوع:String
القيمة الافتراضية:None
يدعم أحرف البدل:True
DontShow:False
الأسماء المستعارة:PSPath

مجموعات المعلمات

Path_SuppressedOnly
Position:0
إلزامي:True
القيمة من مسار معالجة البيانات:True
القيمة من مسار معالجة البيانات حسب اسم الخاصية:True
القيمة من الوسائط المتبقية:False
Path_IncludeSuppressed
Position:0
إلزامي:True
القيمة من مسار معالجة البيانات:True
القيمة من مسار معالجة البيانات حسب اسم الخاصية:True
القيمة من الوسائط المتبقية:False

-Recurse

تشغيل Script Analyzer على الملفات الموجودة في دليل Path وجميع الدلائل الفرعية بشكل متكرر.

ينطبق Recurse فقط على قيمة معلمة المسار. للبحث في CustomRulePath بشكل متكرر، استخدم المعلمة RecurseCustomRulePath.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-RecurseCustomRulePath

إضافة قواعد معرفة في الدلائل الفرعية لموقع CustomRulePath. بشكل افتراضي، يستخدم Invoke-ScriptAnalyzer القواعد المخصصة المعرفة في الملف أو الدليل المحدد فقط. لتضمين القواعد المضمنة، استخدم المعلمة IncludeDefaultRules.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-ReportSummary

اكتب ملخصا للانتهاكات التي تم العثور عليها للمضيف.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-SaveDscDependency

حل تبعيات موارد DSC.

عند تشغيل Invoke-ScriptAnalyzer باستخدام هذه المعلمة، فإنه يبحث عن مثيلات Import-DSCResource -ModuleName <somemodule>. إذا تعذر العثور على <somemodule> عن طريق البحث في $env:PSModulePath، Invoke-ScriptAnalyzer بإرجاع خطأ التحليل. يحدث هذا الخطأ بسبب عدم تمكن محلل PowerShell من العثور على رمز <somemodule>.

إذا عثر Invoke-ScriptAnalyzer على الوحدة النمطية في معرض PowerShell، فإنه يقوم بتنزيل الوحدة النمطية المفقودة إلى مسار مؤقت. ثم تتم إضافة المسار المؤقت إلى $env:PSModulePath طوال مدة الفحص. يمكن العثور على الموقع المؤقت في $LOCALAPPDATA/PSScriptAnalyzer/TempModuleDir.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-ScriptDefinition

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

خصائص المعلمات

النوع:String
القيمة الافتراضية:None
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

ScriptDefinition_IncludeSuppressed
Position:0
إلزامي:True
القيمة من مسار معالجة البيانات:True
القيمة من مسار معالجة البيانات حسب اسم الخاصية:True
القيمة من الوسائط المتبقية:False
ScriptDefinition_SuppressedOnly
Position:0
إلزامي:True
القيمة من مسار معالجة البيانات:True
القيمة من مسار معالجة البيانات حسب اسم الخاصية:True
القيمة من الوسائط المتبقية:False

-Settings

مسار إلى ملف يحتوي على ملف تعريف معرف من قبل المستخدم أو كائن hashtable يحتوي على إعدادات ScriptAnalyzer.

تشغيل Invoke-ScriptAnalyzer مع المعلمات والقيم المحددة في الملف أو hashtable.

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

ملف ملف تعريف محلل البرنامج النصي هو ملف نصي يحتوي على hashtable مع واحد أو أكثر من المفاتيح التالية:

  • CustomRulePath
  • قواعد الاستبعاد
  • IncludeDefaultRules
  • تضمين قواعد
  • RecurseCustomRulePath
  • القواعد
  • الأهمية

يتم تفسير المفاتيح والقيم في ملف التعريف كما لو كانت معلمات وقيم قياسية Invoke-ScriptAnalyzer، على غرار ال splatting. لمزيد من المعلومات، راجع about_Splatting.

خصائص المعلمات

النوع:Object
القيمة الافتراضية:None
يدعم أحرف البدل:False
DontShow:False
الأسماء المستعارة:ملف التعريف

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-Severity

بعد تشغيل Script Analyzer مع جميع القواعد، تحدد هذه المعلمة انتهاكات القاعدة مع الخطورة المحددة.

القيم الصالحة هي:

  • Error
  • Warning
  • معلومات.

يمكنك تحديد قيمة خام واحدة أكثر خطورة.

تقوم المعلمة بتصفية انتهاكات القواعد فقط بعد تشغيل كافة القواعد. لتصفية القواعد بكفاءة، استخدم Get-ScriptAnalyzerRule لتحديد القواعد التي تريد تشغيلها.

المعلمة خطورة لها الأسبقية على IncludeRule. على سبيل المثال، إذا كانت الخطورةError، فلا يمكنك استخدام IncludeRule لتضمين قاعدة Warning.

خصائص المعلمات

النوع:

String[]

القيمة الافتراضية:All rule violations
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-SuppressedOnly

إرجاع الانتهاكات فقط للقواعد التي تم منعها.

إرجاع كائن SuppressedRecord (Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.SuppressedRecord).

لمنع قاعدة، استخدم SuppressMessageAttribute. للحصول على التعليمات، راجع الأمثلة.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False

مجموعات المعلمات

Path_SuppressedOnly
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False
ScriptDefinition_SuppressedOnly
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

-WhatIf

يظهر ما قد يحدث إذا تم تشغيل cmdlet. لم يتم تشغيل cmdlet.

خصائص المعلمات

النوع:SwitchParameter
القيمة الافتراضية:False
يدعم أحرف البدل:False
DontShow:False
الأسماء المستعارة:اي

مجموعات المعلمات

(All)
Position:Named
إلزامي:False
القيمة من مسار معالجة البيانات:False
القيمة من مسار معالجة البيانات حسب اسم الخاصية:False
القيمة من الوسائط المتبقية:False

CommonParameters

يدعم cmdlet هذا المعلمات الشائعة: -Debug و -ErrorAction و -ErrorVariable و -InformationAction و -InformationVariable و -OutBuffer و -OutVariable و -PipelineVariable و -ProgressAction و -Verbose و -WarningAction و -WarningVariable. لمزيد من المعلومات، راجع about_CommonParameters.

الإدخالات

None

لا يمكنك توجيه الإدخال إلى أمر cmdlet هذا.

المخرجات

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.DiagnosticRecord

بشكل افتراضي، يقوم Invoke-ScriptAnalyzer بإرجاع كائن DiagnosticRecord واحد لكل انتهاك للقاعدة.

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.SuppressedRecord

إذا كنت تستخدم المعلمة SuppressedOnly، Invoke-ScriptAnalyzer بدلا من ذلك بإرجاع كائنات SuppressedRecord.