Bonsoir,
Je suis en train de me faire un script en powershell, et j'utilise un petit paquet de variable que j'ai besoin de passer en paramètre à une fonction.
Je cherche donc à simplifier ma gestion de variables (Powershell) que je passe en paramètre dans une fonction.
Actuellement j'ai ça :
$var_1_texte = "blabla"
var_1_position = "2"
var_1_jesaispasquoi = "truc"
$var_2_texte = "blabla2"
var_2_position = "22"
var_2_jesaispasquoi = "truc2"
$resultat = ma-fonction var_1_texte var_1_position var_1_jesaispasquoi
|
J'aimerais pouvoir faire ceci :
$var_1.texte = "blabla"
var_1.position = "2"
var_1.jesaispasquoi = "truc"
$var_2.texte = "blabla2"
var_2.position = "22"
var_2.jesaispasquoi = "truc2"
$resultat = ma-fonction var_1 var_2
|
Mais je ne sais pas comment faire, ni comment ça 'appelle en programmation...
Est-ce possible en Powershell ?
Merci de votre aide
Edit : J'ai trouvé comment faire :
$var1 = New-Object -TypeName psobject
$var_obj | Add-Member -MemberType NoteProperty -Name truc1 -Value 2
$var_obj | Add-Member -MemberType NoteProperty -Name truc2 -Value 'JSP'
$var_obj | Add-Member -MemberType NoteProperty -Name truc3 -Value 'Du texte' |
Mais maintenant je ne sais pas faire le ValidateSet pour $var_obj.truc1 comme je le faisais sur la variable $truc1 seule :
Code :
- function Get-Machin {
- param (
- [Parameter(Mandatory)]$var_obj,
- [Parameter(Mandatory)][ValidateSet(1, 2)]$truc1,
- )
- # Code de la fonction
- }
- # Appel de la fonction :
- Get-Machin $var_obj, $truc1
|
Dans mon exemple, $truc1 ne doit avoir comme valeur que 1 ou 2.
Il en va de même pour $var_obj.truc1, mais je ne sais pas comment faire pour la variable objet... car dedans tout ne doit pas être validé...
Des idées ?
Message édité par MilesTEG1 le 19-12-2021 à 10:15:58
---------------
Mes ventes : [FeedBack] http://forum.hardware.fr/hfr/Achat [...] 4599_1.htm