У меня есть следующий блок Param в начале моего скрипта:
Param
(
[Parameter(Mandatory = $true)]
[ValidateScript({Test-Path $_ -PathType Leaf})]
[string]$Config,
[switch]$OverThresholdOnly,
[switch]$SendEmail,
[switch]$Debug
)
Когда я запускаю скрипт, я получаю сообщение об ошибке:
"A parameter with the name 'Debug' was defined multiple times for this command. At line:1 char:1"
Line:1 and char:1 is the start of the Param block.
Если я изменю $ Debug на $ Verbose, я получу ту же ошибку с Verbose Я попытался поместить $ debug в верхнюю часть блока Param с той же ошибкой.
Если я удаляю раздел [ValidateScript], он работает нормально.
Кто-нибудь может сказать мне, почему он это делает? Почему [ValidateScript] использует $ Debug и как избежать такого переименования переменной?