参考这个链接,我试图在我的脚本中引入详细模式。
当我有这样定义的函数时 -
function TestVerbose
{
param(
[switch]$verbose,
[Parameter(Mandatory = $True)]
$p1
)
if($verbose)
{
Write-Verbose "Verbose Mode"
}
}
Get-Help TestVerbose
我收到以下错误 -
Get-Help:为命令定义了多次名为“Verbose”的参数。在 line:12 char:9 + Get-Help <<<< TestVerbose + CategoryInfo : MetadataError: (:) [Get-Help], MetadataException + FullyQualifiedErrorId : ParameterNameAlreadyExistsForCommand,Microsoft.PowerShell.Commands.GetHelpCommand
但是,如果我像这样定义函数[删除参数强制属性],它工作正常
function TestVerbose
{
param(
[switch]$verbose,
$p1
)
if($verbose)
{
Write-Verbose "Verbose Mode"
}
}
Get-Help TestVerbose
知道为什么会有这种行为吗?我想保留强制开关并希望用户像这样执行我的功能 -
TestVerbose -详细