J12Loop - V2.0.1


1) Introduction.

J12Loop est un programme permettant d’exécuter un script en Powershell dans une boucle pré-programmé, et associé à un rapport d’exécution dynamique. Le but de ce soft est de s'affranchir de la programmation d'une boucle lorsque l'on a besoin, par exemple, de modifier des clés de registres ou des fichiers sur plusieurs machines. J12Loop apporte également : Un système d'arrêt et de reprise du traitement à la volé, et d'un mode "tâche planifié" sans interface.

Ce programme utilise 4 fichiers pour fonctionner :
- J12Loop.exe : Le programme principale écrit en Powershell.
- Import.txt : Liste des machines à traiter (rempli par l'utilisateur).
- Base.txt : Fichier contenant la sauvegarde de la progression du traitement.
- Script.txt : Fichier contenant la sauvegarde du script utilisateur.

2) Principe de fonctionnement.

J12Loop se présente sous la forme d'une fenêtre ou l'utilisateur va entrer son propre code. Le script est exécuté localement dans un espace d’exécution indépendant du programme principale.

Pour remplir le liste des machines à traiter, vous pouvez soit renseigner dans le fichier "import.txt" et cliquer sur le bouton "Importer". Soit remplir les noms des machines manuellement dans le rapport. Le script utilisateur sera exécuter autant de fois qu'il y a de machines présent dans la liste.

Le traitement du script utilisateur pour une machine est conditionné par deux éléments. Il faut que la machine cible répond au Ping. Et que  la dernière exécution du script sur cette machine soit différent de "Ok". Ceci permet de limité les temps de réponse trop long, et d'exécuter plusieurs fois le script sur une machine déjà traitée.

Le rapport est mis à jour en fonction de la valeur retourné par l'utilisateur. Pour cela, il dispose des variables "$etat" et "$etatxt". La variable "$etat" doit être mise à jour dans le script utilisateur avec la valeur 1 pour indiquer le succès de l'opération, ou 2 pour indiquer son échec. Si la variable "$etatxt" est renseignée, elle sera utilisée pour afficher une erreur personnalisée dans le rapport. La variable "$Serveur" contient le nom de la machine en cours de traitement dans la liste.

3) Interface.

Pour pouvoir lancer l’exécution du script vous avez besoin d'un script utilisateur fonctionnel. A partir de la version V1.2.0, les erreurs de script utilisateur exécuté dans le RunSpace sont affichées dans un MessageBox.



Script PowerShell : Zone de saisie du script personnalisé.
Importer : Permet d'importer le contenu du fichier "import.txt" dans le rapport.
Lancer/Arrêter : Lance/Arrête l’exécution du script utilisateur.
Quitter : Sauvegarde la base et le script en cours, puis ferme le programme.



Vous pouvez basculer entre la vue rapport et la vue programme à n'importe quel moment en utilisant l'option "Script/Rapport".

A noter : Il est déconseiller de modifier le script utilisateur pendant l’exécution de celui-ci.

4) Script utilisateur.

Bien que le script tourne dans un RunSpace, quelques variables sont imposées, et d'autres sont réservées au fonctionnement interne du programme.

Variables prédéfinies.
[String] $serveur : Contient le nom (ou l'ip) du serveur à traiter (Lecture).
[int] $etat : Retourne l’état de l’exécution du script (1=Ok, 2=Echec).
[String] $etatxt : Retourner un texte d’état personnalisé à afficher dans le rapport.

Variables spéciales.
[bool] $disableping : Cette variable permet de désactiver le ping réalisé avant de lancer le script. Seul la valeur $true est acceptée pour désactiver le ping.

Variables réservées.
Les variables commençant par "rs_" et la variable "args" sont réservées au fonctionnement interne.

5) Tâche planifier.

Afin de pouvoir lancer le programme depuis une tâche planifiée. Le programme est conçu pour pouvoir être lancé automatiquement sans interface utilisateur. Dans ce mode, le traitement est lancé automatiquement en se basant sur les fichiers sauvegardés "Base.txt" et "Script.txt".

Premièrement, il faut lancer le programme J12Loop.exe en mode normal pour configurer le script utilisateur et importer la liste des machines à traiter. A la fermeture du programme, l'application va générer les fichiers "Base.txt" et "Script.txt".

Dans la tâche planifié, il faut lancer la ligne de commande "J12Loop.exe -auto". L'option "-auto" permet d’exécuter automatiquement le programme sans interface. A la fin de l’exécution, le fichier "Base.txt" est mis à jour.

Pour lire le résultat du traitement. Lancer le programme normalement. Le fichier "Base.txt" contenant le résultat du dernier traitement est automatiquement charger à l'ouverture du programme.

6) Journal de bord.


30.04.2021    J12Loop v2.0.1 - Correction du bug de marge qui peut apparaitre suivant le thème utilisé.
15.07.2020    J12Loop v2.0.0 - Modification complète du mécanisme interne du programme.
14.02.2020    J12Loop v1.2.0 - Affiche les messages d'erreurs provenant du RunSpace.
21.10.2019    J12Loop v1.1.0 - Fenêtre de rapport indépendante.
18.09.2019    J12Loop v1.0.0 - Version initiale.