AvoidUsingPositionalParameters

심각도 수준: 정보

Description

이 규칙은 명령이 이름 있는 매개변수 대신 세 개 이상의 위치 매개변수로 호출될 경우를 감지합니다. 위치 매개변수를 사용하면 코드 가독성이 떨어지고 오류를 유발할 수 있습니다. 향후 버전의 cmdlet이 매개변수 위치에 의존하는 기존 스크립트를 깨뜨릴 수 있는 방식으로 변경될 가능성도 있습니다.

위치별 매개변수가 몇 개뿐인 단순 cmdlet의 경우 위험이 훨씬 적습니다. 이 규칙이 너무 시끄럽지 않게 하려면 세 가지 이상의 매개변수를 제공하지 마세요. 위치 매개변수 사용 위험이 무시할 수 있는 간단한 예는 다음과 같습니다.Test-Path $Path

명령을 호출할 때는 전체 매개변수 이름을 사용하세요.

Example

비준수

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

이 매개변수는 이 규칙에서 제외할 명령어나 스크립트를 지정합니다. 문자열 배열을 받아들입니다. 기본값은 @()입니다.

사용 가능하게 설정

이 매개변수는 스크립트애널라이더가 이 규칙에 따라 코드를 검사하는지 여부를 제어합니다. 불리언 값을 받아들입니다. 이 규칙을 비활성화하려면 이 매개변수를 로 $false설정하세요. 기본값은 $true입니다.