Несколько обязательных наборов параметров
Я работаю над функцией, которая содержит несколько наборов параметров, некоторые из которых являются обязательными, а некоторые необязательными.
Это всего лишь пример, но представьте себе следующую ситуацию:
Функция добавления или удаления пользователя или компьютера из группы AD (где по какой-то причине вам необходимо различать пользователей и компьютеры).
Пожалуйста, помните это всего лишь пример. В этом случае было бы гораздо проще сделать добавить / удалить один[string]
параметр сValidateSet()
, но это не относится к делу.
Итак, у вас есть 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
)
Теперь проблема в том, что вы можете использовать только один из четырех параметров, а не (Добавить или Удалить) и (Пользователь или Компьютер)
Я знаю, что можно использовать несколько наборов параметров для каждого параметра, но я не вижу способа заставить его иметь два набора параметров, которые всегда являются обязательными. По сути, вы всегда должны указывать либо Добавить, либо Удалить, а также Пользователь или Компьютер.
Как это может быть сделано?