我希望我的模块函数在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
答案 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