Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
уровень серьезности : сведения
Description
Это правило определяет, когда команды вызываются с тремя или более позиционными параметрами вместо использования именованных параметров. Использование позиционных параметров снижает читаемость кода и может привести к ошибкам. Возможно, будущая версия cmdlet изменится так, что существующие скрипты будут зависеть от позиции параметров.
Для простых cmdlet с несколькими позиционными параметрами риск значительно ниже. Чтобы правило не было слишком шумным, не указывайте три и более параметра. Простой пример, где риск использования позиционных параметров незначительный, — .Test-Path $Path
Используйте полные имена параметров при вызове команд.
Пример
Несоответствующий
Get-Command ChildItem Microsoft.PowerShell.Management
Compliant
Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management
Правило настройки
Rules = @{
PSAvoidUsingPositionalParameters = @{
CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
Enable = $true
}
}
Parameters
CommandAllowList
Этот параметр указывает команды или скрипты, которые должны быть исключены из этого правила. Он принимает строковый массив (string array). Значение по умолчанию — @().
Enable
Этот параметр контролирует, проверяет ли ScriptAnalyzer код по этому правилу. Он принимает булево значение. Чтобы отключить это правило, установите этот параметр на $false. Значение по умолчанию — $true.