我想要的是get-help為我的cmdlet輸出以下內容
SYNTAX
Get-Somehting -A <Object> [-Package <Object>] [<CommonParameters>]
Get-Somehting -A <Object> [-Names <string[]>] [<CommonParameters>]
Get-Somehting -B <Object> [-Package <Object>] [<CommonParameters>]
Get-Somehting -B <Object> [-Names <string[]>] [<CommonParameters>]
The following
Function Get-Somehting{
[CmdletBinding()]
Param(
[Parameter(Mandatory,
ParameterSetName='A')]
[System.Object]$A,
[Parameter(Mandatory,
ParameterSetName='B')]
[System.Object]$B,
[Parameter(Mandatory,
ParameterSetName='package')]
[System.Object]$Package,
[Parameter(Mandatory,
ParameterSetName='Names')]
[String[]]$Names)
Process{
}
}
gives me
SYNTAX
Get-Somehting -A <Object> [-Package <Object>] [-Names <string[]>] [<CommonParameters>]
Get-Somehting -B <Object> [-Package <Object>] [-Names <string[]>] [<CommonParameters>]
參數集名稱是最煩人、最酷的特性之一。很酷的一點是,你可以正確地為你希望你的代碼采用的“路徑”定義你的輸入,而不是檢查輸入的“路徑”,而不是檢查所有不同的輸入參數,但是當你定義為pwsh真的希望只調用一個“路徑”時,你需要非常小心,所以你必須正確地定義你期望的路徑:
這有點凌亂,但也有道理,因為在你的情況下,你希望總是有一個a或b路徑,并且總是用它定義名稱或包,所以你最終有4個可能的“路徑”