将辅助文本添加到Powershell v5中ValidateSet参数属性中的选项

时间:2016-12-09 21:58:34

标签: powershell parameters powershell-v5.0 validateset

我正在使用[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
    )
}

当我在控制台中运行该功能时,自动完成显示可用选项,但我想知道是否有办法将一些帮助文本关联在自动完成值旁边,以提高可用性。

此外,在声明验证参数属性(例如ValidateSetValidateNotNullorEmpty等)时,似乎跳过了指定的HelpMessage,并且与PowerShell无法验证相关的异常而是抛出参数输入。如果第一个问题没有可行的答案,是否有办法放弃与参数验证相关的异常并提示用户使用帮助消息呢?

0 个答案:

没有答案