function function1 { param ( [Parameter( Mandatory = $true, ParameterSetName = "Enable" )] [switch] $Enable, [Parameter( Mandatory = $true, ParameterSetName = "Disable" )] [switch] $Disable ) switch ($PSCmdlet.ParameterSetName) { "Enable" { Write-Host "function1 enabled" } "Disable" { Write-Host "function1 Disable" } } } function function2 { param ( [Parameter( Mandatory = $true, ParameterSetName = "Minimal" )] [switch] $Minimal, [Parameter( Mandatory = $true, ParameterSetName = "Default" )] [switch] $Default ) switch ($PSCmdlet.ParameterSetName) { "Minimal" { Write-Host "function2 Minimal" } "Default" { Write-Host "function2 Default" } } } function Hello { write-host "Hello" } |