我正在使用[ValidateSet()]
参数属性来验证用户收到的输入是否包含在已批准的输入值集中。但是,我想知道是否有一种方法可以在将鼠标悬停在集合中包含的给定值上时添加帮助文本以显示在控制台中。
function Get-ObjectAction
{
[cmdletbinding()]
param(
[parameter(
ParameterSetName = 'Interactive'
)]
[switch]$Interactive,
[parameter(
ParameterSetName = 'NonInteractive',
HelpMessage = "Select the Object to Synchronize: '0 = Users, Contacts and Groups', '1 = Users only', '2 = Contacts Only', '3 = Groups only'"
)]
[ValidateNotNullorEmpty()]
[ValidateSet(0, 1, 2, 3)]
[int]$Option
)
}
当我在控制台中运行该功能时,自动完成会显示可用选项,但我想知道是否有办法关联一些显示在自动完成值旁边的帮助文本以提高可用性。
此外,在声明验证参数属性(例如ValidateSet
、ValidateNotNullorEmpty
等)时,HelpMessage
似乎跳过了指定的属性,而是引发了与 PowerShell 无法验证参数输入相关的异常。如果第一个问题没有可行的答案,有没有办法放弃与参数验证相关的异常并用帮助消息提示用户?