我正在使用[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无法验证相关的异常而是抛出参数输入。如果第一个问题没有可行的答案,是否有办法放弃与参数验证相关的异常并提示用户使用帮助消息呢?