Поделиться через


Get-ScriptAnalyzerRule

Возвращает правила анализатора скриптов на локальном компьютере.

Синтаксис

Get-ScriptAnalyzerRule
   [[-Name] <string[]>]
   [-CustomRulePath <string[]>]
   [-RecurseCustomRulePath]
   [-Severity <string[]>]
   [<CommonParameters>]

Описание

Возвращает правила анализатора скриптов на локальном компьютере. Правила можно выбрать по имени, серьезности, источнику или источнику или даже определенным словам в описании правила.

Используйте этот командлет для создания коллекций правил для включения и исключения при выполнении командлета Invoke-ScriptAnalyzer.

Чтобы получить сведения о правилах, ознакомьтесь со значением свойства Description каждого правила.

Модуль PSScriptAnalyzer проверяет код PowerShell в скрипте, модуле или ресурсе DSC, чтобы определить, соответствует ли он стандартам рекомендаций.

Примеры

ПРИМЕР 1. Получение всех правил анализатора скриптов на локальном компьютере

Get-ScriptAnalyzerRule

ПРИМЕР 2. Возвращает только правила с серьезностью ошибки

Get-ScriptAnalyzerRule -Severity Error

ПРИМЕР 3. Запуск только правил DSC с серьезностью ошибки

В этом примере выполняются только правила DSC с серьезностью ошибки в файлах в модуле MyDSCModule.

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

Использование параметра IncludeRuleInvoke-ScriptAnalyzerRule эффективнее, чем использование параметра серьезности, который применяется только после использования всех правил для анализа всех файлов модулей.

ПРИМЕР 4. Получение правил по имени и серьезности

В этом примере возвращаются правила с параметром или псевдонимом в имени, которое создает ошибку или предупреждение. Этот набор правил можно использовать для проверки параметров скрипта или модуля.

$TestParameters = Get-ScriptAnalyzerRule -Severity Error, Warning -Name *Parameter*, *Alias*

ПРИМЕР 5. Получение настраиваемых правил

В этом примере возвращаются стандартные правила и правила в модулях VeryStrictRules и ExtremelyStrictRules. Команда использует параметр RecurseCustomRulePath для получения правил, определенных в подкаталогах соответствующих путей.

Get-ScriptAnalyzerRule -CustomRulePath $home\Documents\WindowsPowerShell\Modules\*StrictRules -RecurseCustomRulePath

Параметры

-CustomRulePath

По умолчанию PSScriptAnalyzer получает только стандартные правила, указанные в файле Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll в модуле. Используйте этот параметр, чтобы получить пользовательские правила анализатора скриптов в указанном пути и стандартных правилах анализатора скриптов.

Введите путь к сборке или модулю .NET, содержащей правила анализатора скриптов. Можно ввести только одно значение, но поддерживаются подстановочные знаки. Чтобы получить правила в подкаталогах пути, используйте параметр RecurseCustomRulePath.

Пользовательские правила можно создавать с помощью сборки .NET или модуля PowerShell, например правил анализатора сообщества в репозитории GitHub.

Тип:String[]
Aliases:CustomizedRulePath
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Name

Возвращает только правила с указанными именами или шаблонами имен. Поддерживаются подстановочные знаки. При перечислении нескольких имен или шаблонов получается все правила, соответствующие любому из шаблонов имен.

Тип:String[]
Position:Named
Default value:All rules
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-RecurseCustomRulePath

Выполняет поиск CustomRulePath расположение рекурсивно, чтобы добавить правила, определенные в файлах в подкаталогах пути. По умолчанию Get-ScriptAnalyzerRule добавляет только пользовательские правила в указанном пути.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Severity

Возвращает только правила с указанными значениями серьезности. Допустимые значения:

  • Информация
  • Предупреждение
  • Ошибка
Тип:String[]
Position:Named
Default value:All rules
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Входные данные в этот командлет невозможно передать.

Выходные данные

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

Объект RuleInfo — это пользовательский объект, созданный специально для анализатора скриптов.