Page 1 sur 1

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

Posté : mer. 02 mai 2012 17:37
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

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

Posté : mer. 02 mai 2012 21:30
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:

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

Posté : mer. 02 mai 2012 22:46
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

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

Posté : jeu. 03 mai 2012 07:32
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.

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

Posté : sam. 05 mai 2012 21:15
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 ... ?

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

Posté : sam. 05 mai 2012 22:00
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

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

Posté : sam. 05 mai 2012 22:35
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 ...)

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

Posté : sam. 05 mai 2012 22:47
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:

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

Posté : ven. 05 oct. 2012 11:50
par DimVar
Hum hum. Je me le mets sous le coude.

Merci pour le share ! :D

Bonne continuation.

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

Posté : ven. 02 nov. 2012 18:11
par Maurice
Merci pour le partage ! :)
Je teste dès la semaine prochaine.

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

Posté : sam. 02 févr. 2013 15:50
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

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

Posté : ven. 20 août 2021 16:38
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 ?

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

Posté : mer. 02 nov. 2022 18:44
par atlas12345
Bonjour super utile comme développement par contre il y a t il eu une mise à jour depuis car j’ai la même erreur que vince59 avec la dernière version d’autoit ?

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

Posté : ven. 30 déc. 2022 21:58
par Tlem
Bonsoir atlas12345, vince59 à répondu ici