Question [Resolu] Récupérer une variable d'un script enfant

Plus d'informations
il y a 7 ans 3 mois #27864 par Thomas
Bonjour à tous et à toutes.

Pour continuer d'apprendre le Powershell j'ai décidé de faire un script pour créer des utilisateurs Active Directory.

J'ai un premier script avec des Forms (TextBox, ComboBox etc.). il faut remplir celui-ci et une fois fait, il faut cliquer sur le bouton OK.
Une fois le clic effectué, j'appelle un script (avec en paramètre des variables ça pas de problèmes) qui va faire un check de différentes erreurs possible (champ vide, espace dans le nom etc). S'il n'y a pas d'erreurs (variable errors vide) alors il crée l’utilisateur dans l'AD.

Ce que je voudrais c'est que ce script enfant retourne la variable error au script parent et ainsi celui-ci pourra afficher les erreurs dans le Form principal.

Seul problème je ne sais pas comment envoyer de l'enfant au parent et comment le parent récupère cette variable.

Merci d'avance pour votre aide.

@+++<br><br>Message édité par: titom7986, à: 29/11/18 10:18

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 3 mois #27865 par Sinjk
Hello,

Généralement pour utiliser des variables provenant d'autres scripts, on utilise le dot source pour appeler un script sur le script principal.

exemple:

script1.ps1
[code:1]
. .\script2.ps1

Write-Host $var
[/code:1]


script2.ps1
[code:1]
$var = \&quot;une valeur\&quot;
[/code:1]

J'espère que c'est ce que tu cherchais ^^

Bon courage!

Sinjk

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 3 mois #27866 par Philippe
pour complété la réponse de Sinjk

les variables créé dans un script enfant sont disponible dans le script parent et vice versa

mais tu peut renvoyer une valeur avec return

script parent
[code:1]$reponse = . \&quot;enfant.ps1\&quot;
$reponse [/code:1]

script enfant
[code:1]write-host \&quot;je suis la\&quot;
return 123456
[/code:1]<br><br>Message édité par: 6ratgus, à: 28/11/18 11:21

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 3 mois #27868 par Thomas
Merci pour vos réponse.

C'est ça que je n'avais pas compris alors ces fameux 2 points.
Du coup il faut que les scripts soient dans le même dossier ?
Pour ma part j'ai fais un sous dossier fonctions (avec justement le script enfant) Du coup est ce que je peu faire un ../fonctions/script.ps1 ?

Et du coup ça veut dire que je n'ai pas besoin de passer mes variable en paramètre ? Le script enfant les connaîtra directement ? Et si je modifie une variable (dans le script enfant) le premier script le verra ?

Je regarde cela tout de suite merci.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 3 mois #27874 par Thomas
Alors petit retour.
J'ai mis mon deuxième script dans le même dossier et je l'appel comme ceci :
[code:1]. .\checkErrors2.ps1[/code:1]
Et du coup ça fonctionne très bien. Même pas besoin de passer mes variables en paramètres, et donc les variables du premier script sont bien modifiées par le deuxième.

Merci beaucoup !<br><br>Message édité par: titom7986, à: 29/11/18 10:19

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.038 secondes
Propulsé par Kunena