两个参数之一是强制性的
我正在尝试使用参数创build一个可靠的PowerShell函数。 现在的问题是我没有得到ParameterSetNames工作。 我想得到的是那个 计算机名或IP地址始终是强制性的 计算机名或IP地址必须设置,但不能同时设置(如果可能的话) 如果给予adminuser或adminpassword另一个是强制性的 我尝试了很多不同的设置,但一直失败,这是我的最后一次尝试 CmdletBinding(DefaultParameterSetName="IpAddress")] [CmdletBinding()] Param ( # computername: Name of the host you want to connect to. [Parameter(Mandatory=$true,ParameterSetName="ComputerName", Position=0)] [Parameter(Mandatory=$false,ParameterSetName="IpAddress")] [Parameter(Mandatory=$true,ParameterSetName="ComputerNameCredentials", Position=0)] [Parameter(Mandatory=$false,ParameterSetName="IpAddressCredentials")] [Parameter(Mandatory=$false,ParameterSetName="IpAddressUser")] [Parameter(Mandatory=$true,ParameterSetName="ComputerNameUser", Position=0)] [String]$computername, # ipAddress: Ip Address of the host you want to connect to. [Parameter(Mandatory=$false,ParameterSetName="ComputerName")] [Parameter(Mandatory=$true,ParameterSetName="IpAddress", Position=0)] [Parameter(Mandatory=$false,ParameterSetName="ComputerNameCredentials")] [Parameter(Mandatory=$true,ParameterSetName="IpAddressCredentials", Position=0)] [Parameter(Mandatory=$true,ParameterSetName="IpAddressUser", Position=0)] [Parameter(Mandatory=$false,ParameterSetName="ComputerNameUser")] [switch] [String]$ipAddress, […]