Powershell 如何编写不同的基于注释的帮助语法?
我希望我的模块函数使用Powershell 如何编写不同的基于注释的帮助语法?,powershell,Powershell,我希望我的模块函数使用Get-Helpcmdlet显示不同的语法 例如,对于新项目: 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] []
Get-Help
cmdlet显示不同的语法
例如,对于新项目
:
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] []
PS>获取帮助新项目
名称
新项目
提要
创建一个新项目。
语法
新项目[[-路径]][-确认]-[凭证]-[强制]-[项目类型]-名称
[-UseTransation][-Value][-WhatIf][]
新项目[-路径][确认][凭证][强制][项目类型]
[-UseTransation][-Value][-WhatIf][]
如您所见,在语法部分中,为同一命令编写了两个表单。我希望在我自己的功能中也有同样的功能: PS> Get-Help MyFunction SYNTAX MyFunction [-Param1] [-Param3] [] MyFunction [-Param2] [-Param3] [] PS>获取帮助MyFunction 语法 MyFunction[-Param1][-Param3][] MyFunction[-Param2][-Param3][] 语法部分应该是自动生成的,但我已经尝试使用外部MAML帮助文件,使用Sapien PowerShell HelpWriter或手动,但都没有成功。如果这是唯一的解决办法的话,那么手工太费时了,但至少我会有我的答案 我正在使用PowerShell 5.1解决方案:
函数MyFunction{
[CmdletBinding(DefaultParameterSetName='First')]
param(
[参数(ParameterSetName='First')]
[开关]$Param1,
[参数(ParameterSetName='Second')]
[开关]$Param2,
[开关]$3
)
...
}
然后,使用Get Help
我得到了我的预期结果:
PS>获取帮助MyFunction
语法
MyFunction[-Param1][-Param3][]
MyFunction[-Param2][-Param3][]
各种语法差异基于参数和CmdletBinding
中的参数setname
属性。如果不使用它们,您将无法在帮助中获得输出。