使用.Synopsis等帮助时语法会发生变化

时间:2015-12-31 12:00:01

标签: powershell-v4.0 manual

当我向脚本添加帮助部分时,Get-Help cmdlet会显示不同的语法。这是一个MWE:

#Require -Version 4.0
function global:Test-Syntax {
    <#
    .Synopsis
        Cmdlet tests ValidateSet
    #>
    [CmdletBinding()]
    # parameter check
    param (
        [ValidateSet("one", "two", "three")]
        [string]$testparam
    )
    Write-Verbose "`$testparam: $testparam"
}

Get-Help Test-Syntax在语法部分中显示以下内容:

SYNTAX
    Test-Syntax [[-testparam] <String>] [<CommonParameters>]

删除.Synopsis或整个帮助部分后,我从Get-Help收到以下内容:

SYNTAX
    Test-Syntax [[-testparam] <string> {one | two | three}]  [<CommonParameters>]

我想拥有第二个,因为用户直接获取有关已验证集的信息。如何使用已定义的.Synopsis

获得此帮助

1 个答案:

答案 0 :(得分:0)

这看起来像是一个在你有评论帮助时如何自动生成语法的错误。

作为一种解决方法,您可以编写maml文件并使用.ExternalHelp注释。这是一个不幸的解决方法,因为maml不容易编写,我建议使用一个工具,至少有一个商业产品或github / codeplex上的免费产品。

我建议在这里打开一个项目:https://windowsserver.uservoice.com/forums/301869-powershell