Bonjour à tous,
Voilà je viens vous demander votre aide car je bloque un peu sur l'utilisation de 2 ParameterSetName pour définir des paramètres mandatory ou non.
Mon contexte, un script doit déclencher le déploiement d'un site web composé d'un portail et de web services. Comme l'utilisateur peut intervenir à différents moments, j'avais idée de faire que le script peut déclencher soit le déploiement des 2, soit juste du portail, soit juste des web services.
Je suis donc parti sur une déclaration de paramètre dans ce style :
Lorsque j'appelle le script avec -CreateWebServices ou -CreatePortal, ça marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 param( [Parameter(Mandatory=$true)] [string] $ServerName, [Parameter(Mandatory=$true, ParameterSetName="CreateWebServices")] [Parameter(Mandatory=$false, ParameterSetName="CreatePortal")] [switch] $CreateWebServices, [Parameter(Mandatory=$true, ParameterSetName="CreateWebServices")] [Parameter(Mandatory=$false, ParameterSetName="CreatePortal")] [string] $WebServicesParameterFilePath, [Parameter(Mandatory=$true, ParameterSetName="CreatePortal")] [Parameter(Mandatory=$false, ParameterSetName="CreateWebServices")] [switch] $CreatePortal, [Parameter(Mandatory=$true, ParameterSetName="CreatePortal")] [Parameter(Mandatory=$false, ParameterSetName="CreateWebServices")] [string] $PortalParameterFilePath )
En revanche, si je le lance avec les 2, j'obtiens l'erreur AmbiguousParameterSet.
J'ai essayé de modifier les noms des Set en me disant qu'il se mélangeait peut-être avec le nom de mes switch, mais non...
Est-ce que vous auriez une idée de ce que j'ai raté?
Merci d'avance de votre aide!
Partager