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 — это пользовательский объект, созданный специально для анализатора скриптов.
Связанные ссылки
PowerShell