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


Get-ScriptAnalyzerRule

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

Синтаксис

Default (По умолчанию)

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[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False
Aliases:CustomizedRulePath (Путь к правилам)

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

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

Свойства параметров

Тип:

String[]

Default value:All rules
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RecurseCustomRulePath

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Severity

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

  • Информация
  • Предупреждение
  • Ошибка

Свойства параметров

Тип:

String[]

Default value:All rules
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

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

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

Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic.RuleInfo

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