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