Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nível de gravidade: Informação
Description
Esta regra deteta quando comandos são chamados com três ou mais parâmetros posicionais em vez de usar parâmetros nomeados. A utilização de parâmetros posicionais reduz a legibilidade do código e pode introduzir erros. É possível que uma versão futura do cmdlet possa mudar de forma a quebrar scripts existentes se dependerem da posição dos parâmetros.
Para cmdlets simples com apenas alguns parâmetros posicionais, o risco é muito menor. Para evitar que esta regra seja demasiado ruidosa, não forneça três ou mais parâmetros. Um exemplo simples onde o risco de usar parâmetros posicionais é negligenciável é Test-Path $Path.
Use nomes completos de parâmetros ao chamar comandos.
Example
Não conforme
Get-Command ChildItem Microsoft.PowerShell.Management
Compliant
Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management
Regra de configuração
Rules = @{
PSAvoidUsingPositionalParameters = @{
CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
Enable = $true
}
}
Parameters
CommandAllowList
Este parâmetro especifica comandos ou scripts a serem excluídos desta regra. Aceita uma matriz de cordas. O valor predefinido é @().
Enable
Este parâmetro controla se o ScriptAnalyzer verifica o código com esta regra. Aceita um valor booleano. Para desativar esta regra, defina este parâmetro para $false. O valor predefinido é $true.