PowerShell小技巧之同时使用可选强制参数

在下面脚本函数中让可选参数和强制参数必须同时使用。

下面演示当可选参数出现,也必须使用这个强制参数。

function Connect-Somewhere
{
 [CmdletBinding(DefaultParameterSetName='A')]
 param
 (
 [Parameter(ParameterSetName='A',Mandatory=$false)]
 [Parameter(ParameterSetName='B',Mandatory=$true)]
 $ComputerName,
 [Parameter(ParameterSetName='B',Mandatory=$false)]
 $Credential
 )
 $chosen = $PSCmdlet.ParameterSetName
 "You have chosen $chosen parameter set."
}
 
# -Computername is optional
Connect-Somewhere
# here, -Computername is mandatory
Connect-Somewhere -Credential test

支持所有PS版本