Несколько обязательных наборов параметров

Я работаю над функцией, которая содержит несколько наборов параметров, некоторые из которых являются обязательными, а некоторые необязательными.

Это всего лишь пример, но представьте себе следующую ситуацию:

Функция добавления или удаления пользователя или компьютера из группы 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
)

Теперь проблема в том, что вы можете использовать только один из четырех параметров, а не (Добавить или Удалить) и (Пользователь или Компьютер)

Я знаю, что можно использовать несколько наборов параметров для каждого параметра, но я не вижу способа заставить его иметь два набора параметров, которые всегда являются обязательными. По сути, вы всегда должны указывать либо Добавить, либо Удалить, а также Пользователь или Компьютер.

Как это может быть сделано?

Ответы на вопрос(1)

Ваш ответ на вопрос