Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
niveau de gravité : avertissement
Description
Si votre paramètre prend uniquement true
et false
, définissez le paramètre comme type [Switch]
. PowerShell traite un paramètre de commutateur comme true
lorsqu’il est utilisé avec une commande. Si le paramètre n’est pas inclus dans la commande, PowerShell considère que le paramètre est false. Ne définissez pas de paramètres [Boolean]
.
Vous ne devez pas définir de paramètre de commutateur avec une valeur par défaut de $true
, car ce n’est pas le comportement attendu d’un paramètre de commutateur.
Comment
Modifiez la valeur par défaut du paramètre switch pour qu’il soit $false
ou ne fournissez pas de valeur par défaut.
Écrivez la logique du script pour supposer que la valeur par défaut du paramètre switch est $false
ou non fournie.
Exemple
Erreur
function Test-Script
{
[CmdletBinding()]
Param
(
[String]
$Param1,
[switch]
$Switch=$True
)
...
}
C’est bien ça
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
}
}
...
}