Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nível de gravidade: de informações
Description
Essa regra detecta quando comandos são chamados com três ou mais parâmetros posicionais em vez de usar parâmetros nomeados. O uso de parâmetros posicionais reduz a legibilidade do código e pode introduzir erros. É possível que uma versão futura do cmdlet mude de uma forma que quebre scripts existentes se depender da posição dos parâmetros.
Para cmdlets simples com apenas alguns parâmetros posicionais, o risco é muito menor. Para evitar que essa regra seja muito barulhenta, 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 dos parâmetros ao chamar comandos.
Example
Não Conforme
Get-Command ChildItem Microsoft.PowerShell.Management
Em conformidade
Get-Command -Noun ChildItem -Module Microsoft.PowerShell.Management
Regra de configuração
Rules = @{
PSAvoidUsingPositionalParameters = @{
CommandAllowList = 'Join-Path', 'MyCmdletOrScript'
Enable = $true
}
}
Parameters
CommandAllowList
Esse parâmetro especifica comandos ou scripts a serem excluídos dessa regra. Aceita um array de cordas. O valor padrão é @().
Enable
Esse parâmetro controla se o ScriptAnalyzer verifica o código em relação a essa regra. Aceita um valor booleano. Para desabilitar essa regra, defina esse parâmetro para $false. O valor padrão é $true.