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: aviso
Descrição
Se o parâmetro usa apenas true e false, defina o parâmetro como tipo [Switch]. O PowerShell trata um parâmetro de comutador como true quando ele é usado com um comando. Se o parâmetro não estiver incluído com o comando, o PowerShell considerará o parâmetro como false. Não defina [Boolean] parâmetros.
Você não deve definir um parâmetro de comutador com um valor padrão de $true porque esse não é o comportamento esperado de um parâmetro de comutador.
Como
Altere o valor padrão do parâmetro switch para ser $false ou não forneça um valor padrão.
Escreva a lógica do script para assumir que o valor padrão do parâmetro switch é $false ou não fornecido.
Exemplo
Errado
function Test-Script
{
[CmdletBinding()]
Param
(
[String]
$Param1,
[switch]
$Switch=$True
)
...
}
Correto
function Test-Script
{
[CmdletBinding()]
Param
(
[String]
$Param1,
[switch]
$Switch
)
begin {
# Ensure that the $Switch is set to false if not provided
if (-not $PSBoundParameters.ContainsKey('Switch')) {
$Switch = $false
}
}
...
}