我想在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有效) –