Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nivel de gravedad de : advertencia
Descripción
Si el parámetro solo toma true y false, defina el parámetro como tipo [Switch]. PowerShell trata un parámetro switch como true cuando se usa con un comando . Si el parámetro no se incluye con el comando , PowerShell considera que el parámetro es false. No defina [Boolean] parámetros.
No debe definir un parámetro switch con un valor predeterminado de $true porque no es el comportamiento esperado de un parámetro switch.
Cómo
Cambie el valor predeterminado del parámetro switch para que sea $false o no proporcione un valor predeterminado.
Escriba la lógica del script para suponer que el valor predeterminado del parámetro switch es $false o no se proporciona.
Ejemplo
Incorrecto
function Test-Script
{
[CmdletBinding()]
Param
(
[String]
$Param1,
[switch]
$Switch=$True
)
...
}
Correcto
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
}
}
...
}