[Ex] Utilitaire de déploiement à distance basé sur PsExec

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2502
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

[Ex] Utilitaire de déploiement à distance basé sur PsExec

#1

Message par jguinch »

Bonjour, c'est encore moi.
Comme j'ai décidé de partager mes scripts, en voilà un autre...

Package Deployer permet, comme son nom l'indique, de déployer des exécutables à travers le réseau, en utilisant l'utilitaire PsExec.
Pourquoi ne pas se contenter de PsExec me direz-vous ? Quand on déploie sur plus de 2000 machines sans avoir un vrai outil de déploiement à distance, (rien qu'en utilisant PsExec), on n'est pas sûr que toutes les machines sont sous tension, donc on ne sait pas quelles machines ont reçu ou non le programme. C'est pour le suivi de déploiement que j'ai eu l'idée de faire cet outil. De plus, à chaque déploiement le fichier se log de rempli, ce qui permet de tracer le déploiement...

Merci pour vos remarques...

Le fichier joint a été mis à jour
Fichiers joints
package_deployer.zip
Mis à jour le 05/05/2012
(547.79 Kio) Téléchargé 1108 fois
package_deployer.zip
Mis à jour le 05/05/2012
(547.79 Kio) Téléchargé 1108 fois
Modifié en dernier par jguinch le sam. 05 mai 2012 22:27, modifié 4 fois.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
vince59
Niveau 2
Niveau 2
Messages : 22
Enregistré le : dim. 09 janv. 2011 20:24
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#2

Message par vince59 »

Bonsoir,

Super contribution :) Je voulais faire un outil de ce genre là mais je n'avais jamais pris le temps de le faire. Celui-ci tombe à pic.

Si je peux me permettre quelques remarques (déformation professionnelle) :
- J'ai tenté de compiler le script au3 mais une erreur me signale que la fonction "ChangeRecentsFilesOrder" n'est pas définie. Et effectivement, je ne la trouve pas dans le script.
- J'ai tenté d'ouvrir un fichier pkg (l'exemple fourni ou un nouveau), et j'ai toujours un pop-up d'erreur disant qu'une fonction est inconnue mais sans dire laquelle. Voir copie d'écran ci-jointe. C'est peut être lié à la remarque précédente.
- J'ai essayé de déployer un package bidon sur deux machines non joignables et je n'ai pas trouvé de log. Or en lisant le script, il me semble qu'un log est généré. Me trompes-je ?
- Concernant l'utilisation du script, on ne sait pas trop à quel moment est sauvegardé le fichier pkg car il n'y pas de bouton sauvegarder. J'imagine qu'il est sauvegardé lorsqu'on clique sur le bouton de déploiement ?

Merci pour la communauté :wink:
Fichiers joints
copie d'écran du message d'erreru à l'ouverture d'un fichier pkg
copie d'écran du message d'erreru à l'ouverture d'un fichier pkg
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2502
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#3

Message par jguinch »

Bonsoir
Merci pour tes remarques.

Effectivement, il manque certaines parties. J'ai fait du ménage dans mon script avant de l'envoyer ici et forcément, grosse erreur, je n'ai pas testé !!! :?

Pour le plantage, c'est bien la fonction "ChangeRecentsFilesOrder" qui posait problème (je l'ai supprimé car j'ai abandonné cette fonction mais j'ai laissé une référence dans le script).

J'ai donc effectué les modifications (ci-jointes).
Pour ce qui est des logs, le fichier généré est bien présent dans le même dossier que l'exécutable (je viens de testé c'est OK). Il est créé quand on lance un déploiement et s'alimente pendant le déploiement puis à l'arrêt. Si ce n'est pas le cas, il faudrait mettre une trace sur la fonction "writelog" pour voir ce qui se passe.

Pour la sauvegarde, le fichier .PKGD est enregistré à chaque modification (c'est un fichier INI en fait, j'ai juste changé l'extension ça fait plus classe, hé hé ! :wink: )
Capture écran
Capture écran
Modifié en dernier par jguinch le jeu. 03 mai 2012 08:04, modifié 1 fois.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11679
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#4

Message par Tlem »

Bonjour et merci pour le partage.
Plutôt que de distribuer X versions de votre outil le long de ce sujet, merci de simplement mettre à jour votre premier message.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2502
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#5

Message par jguinch »

Programme mis à jour le 05/05/2012 qui corrige l'erreur "Impossible de trouver le fichier \psexec.exe".

Code : Tout sélectionner

Func Prefs()
 [...]
    $psexecLocation = _FileGetPath($newPath)
    RegWrite ( $regPath, "PsExecLocation", "REG_SZ", $psexecLocation )
 [...]
EndFunc
@vince59 : ton post concernant ce problème a disparu ... ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
vince59
Niveau 2
Niveau 2
Messages : 22
Enregistré le : dim. 09 janv. 2011 20:24
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#6

Message par vince59 »

En fait, j'ai investigué un peu plus, et je viens de découvrir qu'avec Windows Vista, le script n'arrive pas à écrire la clef et sa valeur dans la base de registre, même en étant administrateur.
En fait, il faut ajouter la macro suivante :

Code : Tout sélectionner

#requireadmin
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2502
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#7

Message par jguinch »

OK, donc il y avait bien un problème avec l'UAC en plus de la modification que j'ai effectuée.
L'UAC est désactivé ici, donc je n'avais pas ce problème...
J'ai ajouté la ligne et mis à jour le ZIP.

Merci pour vos bonnes remarques, ça permet de voir que bien souvent on se contente de tester les fonctionnalités d'une application, mais on oublie de tester l'application avec les différents OS ( + service pack + UAC + droits admin ...)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
vince59
Niveau 2
Niveau 2
Messages : 22
Enregistré le : dim. 09 janv. 2011 20:24
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#8

Message par vince59 »

[quote="jguinchard"]Programme mis à jour le 05/05/2012 qui corrige l'erreur "Impossible de trouver le fichier \psexec.exe".

Code : Tout sélectionner

Func Prefs()
 [...]
    $psexecLocation = _FileGetPath($newPath)
    RegWrite ( $regPath, "PsExecLocation", "REG_SZ", $psexecLocation )
 [...]
EndFunc
En fait, il n'y a pas de bug dans le script... inutile de corriger :wink:
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 865
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#9

Message par DimVar »

Hum hum. Je me le mets sous le coude.

Merci pour le share ! :D

Bonne continuation.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Maurice
Niveau 3
Niveau 3
Messages : 37
Enregistré le : jeu. 01 nov. 2012 18:20
Localisation : Une région à bulles (pas de l'eau)
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#10

Message par Maurice »

Merci pour le partage ! :)
Je teste dès la semaine prochaine.
Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 158
Enregistré le : lun. 13 août 2007 17:38
Localisation : Yvelines
Contact :
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExe

#11

Message par corrs78 »

très bonne idée. moi qui me sert de psexec en mode console, j'avais eu aussi cette idée, mais je n'avais jamais pris le temps de faire ce script. cela dit celui-ci est vraiment bien et je ne pense pas être à la hauteur pour developpé un tel programme. le mien aurait été beaucoup plus simpliste.

Part contre j'ai juste une petite critique, tu obliges la selection d'un package *.exe, pour ma part j'utilise psexec pour appeler des batch *.bat.
(par exemple pour désinstaller les vielles verisons de Java de mon parc informatique ) il ne serait pas préférable de proposer plusieurs type de programmes (bat, exe, msi, com...) ?

merci
You93
Niveau 1
Niveau 1
Messages : 1
Enregistré le : ven. 20 août 2021 09:09
Status : Hors ligne

Re: [Ex] Utilitaire de déploiement à distance basé sur PsExec

#12

Message par You93 »

Bonjour, superbe utilitaire.
Serait-il possible de mettre au point une version 2.0 en permettant de déployer des .bat et .msi ?
Répondre