Question Problème sélection de listbox et Switch

Plus d'informations
il y a 13 ans 6 mois #12605 par Kazer2.0
Bonjour à tous,

Je débute le powershell, et je me retrouve face à un petit problème.

J'ai utilisé le script-exemple de listbox de ce site associé à un switch pour réaffecter les variables en fonction de la sélection.

Cependant, les variables ne se réaffecte pas correctement.

Le script n'est pas encore fini :

pastebin.com/6BY0EKX5

Le script permet de choisir une machine virtuel qui est monté automatiquement. Après appuis sur le bouton $selection, j'ai remplacé le \"+ $choix\" du $text2.text par $vm, ma variable de machine pour voir si elle était bien prise en compte, ce qui n'est pas le cas.


Un petit peu d'aide sera le bienvenu !


Cordialement

Kazer2.0

[EDIT] En ajoutant le switch dans le add_Click pour la sélection, ça fonctionne, mais je dois cliquer 2x pour qu'il me sélectionne correctement ma machine<br><br>Message édité par: Kazer2.0, à: 28/08/12 11:38

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

Plus d'informations
il y a 13 ans 6 mois #12608 par Laurent Dardenne
Kazer2.0 écrit:

[EDIT] En ajoutant le switch dans le add_Click pour la sélection, ça fonctionne, mais je dois cliquer 2x pour qu'il me sélectionne correctement ma machine

Ton bouton Sélectionner n'est peut être pas nécessaire puisque la sélection se fait déjà dans la listbox.
Donc...

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 6 mois #12613 par Kazer2.0
Effectivement, mais le bouton me servait juste à vérifier que mes variables prennent bien les bonnes valeurs en fonction de la sélection, afin de vérifier avant de faire le montage de la machine virtuel.

Cependant, j'ai un autre petit soucis, quand je sélectionne ma machine est que j’exécute le script qui me télécharge ma machine virtuel et me la monte en local, pendant l’exécution du script, l'interface freeze (normal vu que tout est dans un seul thread).

Alors que actuellement, pour vérifier que tout se passe bien, j'aimerai avoir la console powershell pour voir le déroulement de mon scripts.

pastebin.com/fgZJiDEv

Le script s’exécute donc après sélection de la machine virtuel que l'on désire et quand l'on clique sur \&quot;monter la machine\&quot;.

vagrant box add $vm $url | out-null;
mkdir $path\$vm | out-null;
cd $path\$vm | out-null;
vagrant init $vm | out-null;
Remove-Item VagrantFile | out-null;
Copy-Item $vagrantfile $path | out-null;
vagrant up

(j'utilise vagrantup qui permet de faire des templates de machine virtuel sous virtualbox, de les stockers sur un serveur, et de les monter relativement simplement.)

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

Plus d'informations
il y a 13 ans 6 mois #12614 par SiSMik
Bonjour,

Tu as essayé avec Start-Job avec scriptblock pour lancer les montages de tes templates de VM ?

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

Plus d'informations
il y a 13 ans 6 mois #12617 par Kazer2.0
benduru écrit:

Bonjour,

Tu as essayé avec Start-Job avec scriptblock pour lancer les montages de tes templates de VM ?


J'ai essayé de trouver des solutions (recherche multi-thread powershell sur google), et la solution du Start-Job revient le plus souvent. Mais malgré les exemples, je n'ai pas compris le fonctionnement.

Je précise que je n'ai pas encore \&quot;codé\&quot; (bien que le powershell est plus du scripting, enfin bref, je découvre l'univers), j'ai déjà bien progressé et corriger certaines de mes erreurs, mais là, j'avoue ne pas saisir correctement le fonctionnement.

Le but étant donc d’exécuter le montage de la machine virtuel sans freezer l'interface, le but final, mais j'aimerai si possible avoir la console powershell qui s'ouvre quand je suis en mode \&quot;correction\&quot; du script, que je vois si tout se passe bien.

(si c'est pas possible, c'est pas grave).

Voilà la dernière version :

pastebin.com/YdsbzApb



Merci de votre aide =)

[EDIT] Et une autre petite question, est-ce que les variables se transfert de fenêtre à fenêtre ? Par exemple, j'ouvre une nouvelle fenêtre \&quot;fille\&quot;, est-ce que les variables de la fenêtre mère sont exploitables et inversement ?<br><br>Message édité par: Kazer2.0, à: 30/08/12 14:10

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

Plus d'informations
il y a 13 ans 6 mois #12620 par Laurent Dardenne
Salut,
Kazer2.0 écrit:

J'ai essayé de trouver des solutions (recherche multi-thread powershell sur google), et la solution du Start-Job revient le plus souvent.

Dans ce contexte mieux vaut utiliser le terme de tâche, car tu ne peux intervenir sur le \&quot;Runspace.Pipeline\&quot; créant le thread.
L'utilisateur public ciblé par PS c'est l'administrateur système, si tu veux manipuler cette notion il te faudra utiliser le C#, et encore...
Kazer2.0 écrit:

Mais malgré les exemples, je n'ai pas compris le fonctionnement.

Comme il me semble que tu sais coder, il te faut être plus précis. Un exemple ?
Kazer2.0 écrit:

Le but étant donc d’exécuter le montage de la machine virtuel sans freezer l'interface,

Utilise uniquement le GUI pour sélectionner les VM à monter, les jobs te permettront de découpler tes traitements.
N'exécute pas de long traitements dans les gestionnaires d'événements.
Ce qu'il te faudrait c'est un exemple, basé GUI, utilisant le principe de ce post .
Voir aussi cette discussion .
Kazer2.0 écrit:

le but final, mais j'aimerai si possible avoir la console powershell qui s'ouvre quand je suis en mode \&quot;correction\&quot; du script, que je vois si tout se passe bien.

Moi, pareil !
Kazer2.0 écrit:

(si c'est pas possible, c'est pas grave).

Bha là, faut demander au père Noël ;-)
Kazer2.0 écrit:

[EDIT] j'ouvre une nouvelle fenêtre \&quot;fille\&quot;, est-ce que les variables de la fenêtre mère sont exploitables

Oui
Kazer2.0 écrit:

et inversement

Jamais fait.
Dans ce cas il faut étudier, non pas les oracles, mais la notion de portée.
Première solution, toutes les variables sont globales.
Possible inconvénient, les problèmes aussi :lol:

Tutoriels PowerShell

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

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