我有这段代码
Param(
[Parameter(ParameterSetName='InsertException')]
[switch]$insert,
[Parameter(ParameterSetName='UpdateException')]
[switch]$update,
[Parameter(ParameterSetName='GetException')]
[switch]$get,
[Parameter(Mandatory=$True, ParameterSetName='UpdateException')]
[string]$userName
)
我希望在使用switch -update或-insert时,该参数$ userName是必需的,但在使用switch -get时不应询问参数$ username。
我该怎么做?
答案 0 :(得分:2)
查看帮助主题about_functions_advanced_parameters
,它将告诉您如何执行此操作:
Param
(
[parameter(Mandatory=$true,
ParameterSetName="Computer")]
[String[]]
$ComputerName,
[parameter(Mandatory=$true,
ParameterSetName="User")]
[String[]]
$UserName
[parameter(Mandatory=$false, ParameterSetName="Computer")]
[parameter(Mandatory=$true, ParameterSetName="User")]
[Switch]
$Summary
)