Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1974 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Powershell] Paramètres forcés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Powershell] Paramètres forcés

n°2338649
giHefca
occupé à ne rien faire
Posté le 03-09-2019 à 15:15:02  profilanswer
 

:hello:
 
Pour un script, je souhaite "hierarchiser" les paramètres.
param0 (facultatif) disponible qu'avec param1 et param2
param21 ou param22 (un des 2 obligatoire) disponibles qu'avec param2
 

Code :
  1. Param (
  2. [Parameter(ParameterSetName="param1" )]
  3. [Parameter(ParameterSetName="param2",Mandatory=$false)][string]$param0,
  4. [Parameter(ParameterSetName="param1",Mandatory=$true)][switch]$param1,
  5. [Parameter(ParameterSetName="param2",Mandatory=$true)][switch]$param2,
  6. [Parameter(ParameterSetName="param2" )][Parameter(ParameterSetName="param21",Mandatory=$true)][string]$param21,
  7. [Parameter(ParameterSetName="param2" )][Parameter(ParameterSetName="param22",Mandatory=$true)][string]$param22
  8. )


 
L'aide donne :

Code :
  1. test.ps1 -param2 [-param0 <string>] [-param21 <string>] [-param22 <string>] [<CommonParameters>]
  2. test.ps1 -param1 [-param0 <string>] [<CommonParameters>]
  3. test.ps1 -param21 <string> [<CommonParameters>]
  4. test.ps1 -param22 <string> [<CommonParameters>]


 
Il est possible de passer en parameter -param21 et 22 seuls :/
Comment les forcer à être utiliser qu'avec -param2 ?
 
:jap:

mood
Publicité
Posté le 03-09-2019 à 15:15:02  profilanswer
 

n°2338920
giHefca
occupé à ne rien faire
Posté le 10-09-2019 à 11:21:46  profilanswer
 

:(

n°2356827
waraknot
Posté le 26-06-2020 à 08:42:38  profilanswer
 

Bonjour
Ce sujet date un peu (beaucoup) mais peut être que cela en aidera malgré tout.
Est ce que ceci répond à ta problématique ?

Code :
  1. Param (
  2. [Parameter(ParameterSetName="P1" )][Parameter(ParameterSetName="P2.1" )][Parameter(ParameterSetName="P2.2" )][string]$p0,
  3. [Parameter(ParameterSetName="P1", Mandatory=$true)][switch]$p1,
  4. [Parameter(ParameterSetName="P2.1", Mandatory=$true)][Parameter(ParameterSetName="P2.2", Mandatory=$true)][switch]$p2,
  5. [Parameter(ParameterSetName="P2.1", Mandatory=$true)][string]$p21,
  6. [Parameter(ParameterSetName="P2.2", Mandatory=$true)][string]$p22
  7. )


 
Résultat après un Get-Help :
test-param.ps1 -p2 -p22 <string> [-p0 <string>] [<CommonParameters>]
test-param.ps1 -p2 -p21 <string> [-p0 <string>] [<CommonParameters>]
test-param.ps1 -p1 [-p0 <string>] [<CommonParameters>]

n°2356840
giHefca
occupé à ne rien faire
Posté le 26-06-2020 à 11:08:09  profilanswer
 

:jap:

 

Le script tourne finalement en tâche planifiée.
Je ne sais plus si j'avais trouvé ou si j'avais laissé tomber  [:tinostar]
 Mais effectivement ça peut aider quelqu'un d'autre :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Powershell] Paramètres forcés

 

Sujets relatifs
mieux comprendre powershell[RESOLU] petite aide appel fonction powershell
PowerShell Changement de nom de poste avec une entrée clavierPowerShell : Compléter champs web
Powershell[Topic Unik]Créer un lien hypertexte en powershell
Remplacer une lettre dans .txt POWERSHELLComment faire un saut à la ligne Powershell
Récupérer la date du résultat [POWERSHELL][POWERSHELL] Récupérer les utilisateurs sur un serveur TSE
Plus de sujets relatifs à : [Powershell] Paramètres forcés


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR