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?