En referencia al enlace this, intento introducir el modo detallado en mi script.Powershell: Definición del conmutador Verbose en una función
Cuando tengo una función definida como esto -
function TestVerbose
{
param(
[switch]$verbose,
[Parameter(Mandatory = $True)]
$p1
)
if($verbose)
{
Write-Verbose "Verbose Mode"
}
}
Get-Help TestVerbose
me sale el siguiente error -
Get-Help : A parameter with the name 'Verbose' was defined multiple times for the command. At line:12 char:9 + Get-Help <<<< TestVerbose + CategoryInfo : MetadataError: (:) [Get-Help], MetadataException + FullyQualifiedErrorId : ParameterNameAlreadyExistsForCommand,Microsoft.PowerShell.Commands.GetHelpCommand
PERO, si defino la función como esta [eliminar el atributo obligatorio parámetro ], funciona bien
function TestVerbose
{
param(
[switch]$verbose,
$p1
)
if($verbose)
{
Write-Verbose "Verbose Mode"
}
}
Get-Help TestVerbose
Cualquier i ¿por qué tal comportamiento? Quiero mantener el interruptor obligatorio y desea que el usuario ejecute mi función como esta -
TestVerbose -verbose
Gracias! No sabia esto Sí, estoy usando V2. –
Todavía quería poder probar para ver si el botón -Verbose estaba activado. Encontré mi respuesta en [esta pregunta] (http://stackoverflow.com/questions/24446680/is-it-possible-to-check-if-verbose-argument-was-given-in-powershell). –