我想在PowerShell中创建一个函数,其中有一个特定的参数开关,然后给出其他选择,但这些仅适用于如果此参数与主要的一个。这将用于将用户添加到AD组。我仍然在学习ParameterSets的工作方式。PowerShell参数集允许多项选择,如果某些参数集
我要的是这样的事情成为可能:
确定:(其中21和22是选择题切换
Set-UserAccess -user Username -Access1 -Access2 -Access21
Set-UserAccess -user Username -Access1 -Access2 -Access21 -Access22
Set-UserAccess -user Username -Access1 -Access2 -Access22
Set-UserAccess -user Username -Access2 -Access22
不正常:
Set-UserAccess -user Username -Access1 -Access21
Set-UserAccess -user Username -Access1 -Access2
Set-UserAccess -Access21
灿您请告知如何创建参数设置以允许此操作。
基本上我有到目前为止(被重新命名为这个问题的通用)
[CmdletBinding(DefaultParameterSetName='Default')]
Param
(
[Parameter(Mandatory=$true,
ValueFromPipelineByPropertyName=$true,
Position=0)][string[]]
$user,
[Parameter()][switch]$Access1,
[Parameter()][switch]$Access2,
[Parameter()][switch]$Access3,
[Parameter(ParameterSetName='Access4')][Switch]$Access4,
[Parameter(ParameterSetName='Access4')][Switch]$Access4Choice1,
[Parameter(ParameterSetName='Access4')][Switch]$Access4Choice2,
)
请告知是否有任何需要澄清。
只是检查,虽然,该设置,我可以选择多个选择,或者只是一个单一的选择?这在这里是必需的。 – TimothyWaring
您必须在验证集中选择**一个**字符串。 –
或者让['string []] $ Access4'(ISE不显示第二个参数的菜单,但是TAB有效) –