【发布时间】:2014-08-19 11:28:35
【问题描述】:
我正在处理一个包含多个参数集的函数,其中一些是强制性的,一些是可选的。
这只是一个例子,但想象一下以下情况:
从 AD 组中添加或删除用户或计算机的功能(出于某种原因,您需要区分用户和计算机)。
请记住这只是一个例子。在这种情况下,使用 ValidateSet() 添加/删除单个 [string] 参数会容易得多,但这不是重点。
所以你有 4 个参数集:
Param
(
[Parameter(ParameterSetName = 'Add', Mandatory = $true)][switch] $Add,
[Parameter(ParameterSetName = 'Remove', Mandatory = $true)][switch] $Remove,
[Parameter(ParameterSetName = 'User', Mandatory = $true)][switch] $User,
[Parameter(ParameterSetName = 'Computer', Mandatory = $true)][switch] $Computer
)
现在的问题是你只能使用四个参数之一,而不是(添加或删除)和(用户或计算机)
我知道每个参数可以使用多个参数集,但我看不到强制它具有两个始终强制的参数集的方法。实际上,您必须始终指定 Add 或 Remove 以及 User 或 Computer。
如何做到这一点?
【问题讨论】:
标签: powershell