Избегайте ИспользованияPositionalParameters

уровень серьезности : сведения

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.