如何编写不同的基于注释的帮助语法?

时间:2019-11-20 15:43:08

标签: powershell

我希望我的模块函数在Get-Help cmdlet中显示不同的语法。

例如,使用New-Item

PS> Get-Help New-Item

NAME
    New-Item

SYNOPSIS
    Creates a new item.


SYNTAX
    New-Item [[-Path] ] [-Confirm] [-Credential ] [-Force] [-ItemType ] -Name 
    [-UseTransaction] [-Value ] [-WhatIf] []

    New-Item [-Path]  [-Confirm] [-Credential ] [-Force] [-ItemType ]
    [-UseTransaction] [-Value ] [-WhatIf] []

如您所见,在 SYNTAX 部分中,为同一命令编写了2种形式。
我想用自己的功能做同样的事情:

PS> Get-Help MyFunction

SYNTAX
    MyFunction [-Param1] [-Param3] []

    MyFunction [-Param2] [-Param3] []

应该自动生成 SYNTAX 部分,但是我已经尝试使用Sapien PowerShell HelpWriter或手动使用外部MAML帮助文件,但均未成功。如果这是唯一的解决方案,那么手工花费大量时间,但是至少我会得到答案。

我正在使用PowerShell 5.1

1 个答案:

答案 0 :(得分:0)

解决方案在这里:

"testField":5

然后,使用function MyFunction { <# comment-based Help #> [CmdletBinding(DefaultParameterSetName='First')] param ( [Parameter(ParameterSetName='First')] [switch]$Param1, [Parameter(ParameterSetName='Second')] [switch]$Param2, [switch]$Param3 ) ... } ,我得到了预期的结果:

Get-Help