Conjuntos de parámetros obligatorios múltiples

Estoy trabajando en una función que contiene múltiples conjuntos de parámetros, algunos obligatorios y otros opcionales.

Esto es solo un ejemplo, pero imagine la siguiente situación:

Una función para agregar o eliminar un usuario o una computadora de un grupo de AD (donde, por alguna razón, necesita distinguir entre usuarios y computadoras).

Por favor recuerde Esto es solo un ejemplo. En este caso, sería mucho más fácil hacer que agregar / quitar un solo[string] parámetro con unValidateSet(), Pero eso no viene al caso.

Entonces tienes 4 conjuntos de parámetros:

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
)

El problema ahora es que solo puede usar uno de los cuatro parámetros, en lugar de (Agregar o quitar) y (Usuario o Computadora)

Sé que es posible usar múltiples conjuntos de parámetros por parámetro, pero no veo una forma de obligarlo a tener dos conjuntos de parámetros que siempre son obligatorios. Efectivamente, siempre debe especificar Agregar o Eliminar y también Usuario o Computadora.

¿Cómo se puede hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta