Connexion à un partage... compliqué !

Connexion à un partage... compliqué ! - Divers - Programmation

Marsh Posté le 12-01-2016 à 06:36:11    

Bonjour,

 

Pour le taf je dois me connecter de manière automatique sur un ensemble de machines pro sous un XP Embedded, seulement il y a 2 modèles... et forcément 2 mots de passe différents pour le compte administrateur sur lequel je dois bosser.

 

A la suite de cette connexion, je lance une copie d'un fichier en remplacement d'un fichier actuel... là pas de soucis je sais faire.
Pour le langage, je suis "ouvert" ( :D ) à VBScript, AutoIT ou batch. Powershell éventuellement, mais derrière c'est de l'XP Embedded la cible :o

 

Mais gérer cette histoire de connexion suivant tel ou tel mot de passe, je sèche :/

 

Des idées ?


Message édité par bardiel le 12-01-2016 à 06:53:03

---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 12-01-2016 à 06:36:11   

Reply

Marsh Posté le 13-01-2016 à 09:24:02    

Un bête dictionnaire (hash, tableau associatif...) hostname => password  :??:  
Je ne suis pas sûr de comprendre où tu sèche en fait. Si tu ouvre un connexion par hôte, tu boucles sur les entrées de ton tableau associatif, du genre :

Code :
  1. hosts = {
  2.    "1.foo.com" => "password1",
  3.    "2.foo.com" => "password2"
  4. }
  5. hosts.each { |hostname, password|
  6. # Un truc du genre new Connection(host, password)
  7. }

Reply

Marsh Posté le 13-01-2016 à 09:38:03    

Je pense à un système similaire : tu essayes de te connecter avec le premeir couple id/mdp : si c'est ok, tu fais la copie de fichier, sinon, tu essayes avec le 2ème couple id/mdp (qui devrait passer du coup) et tu lances la copie. Je vois pas trop la difficulté en fait :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 13-01-2016 à 18:49:28    

LeRiton a écrit :

Un bête dictionnaire (hash, tableau associatif...) hostname => password  :??:  
Je ne suis pas sûr de comprendre où tu sèche en fait. Si tu ouvre un connexion par hôte, tu boucles sur les entrées de ton tableau associatif, du genre :
(...)


Oui ça c'est si on a un mot de passe identifié par host.
Seulement là il s'agit d'un ensemble d'équipement identique, identifiables individuellement par... leur adresse IP.
Le constructeur nous a fourni 2 mots de passe pour le compte administrateur, et quand on doit intervenir individuellement sur un appareil on teste l'un puis l'autre mot de passe.
 
Seulement là je dois faire la même chose pour... une centaine de machines ! 3 minutes à tester sur chaque machine via Dameware, j'y passe la semaine.
 
@rufo : j'y ai pensé aussi, notamment en utilisant le code retour de robocopy... là c'est la partie de connexion préalable sur la machine (une ouverture de session quoi), puis lancer la copie.
C'est là que je sèche, comment avoir un code de retour sur une ouverture de session en ligne de commande (un psexec ?) :cry:  
 
Si seulement c'était possible de poser un compte sur chaque machine, aussi je l'aurais fait, mais non là aussi comme ce n'est pas directement traité par nous, on ne peut rien ajouter.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 13-01-2016 à 22:53:02    

Pour tester 2 couples d'id/mdp, ça prend 3 min par équipement :??:
 
Je propose que tu fasses un script qui alimente une sorte de "BD" qui va identifier, pour chaque @IP, le bon couple d'id/mdp, comme ça, ça sera fait une bonne fois pour toute. Si c'est vraiment très long à s'exécuter, tu peux faire un cron qui lancera le script la nuit et traitera des petits paquets d'@IP. Au bout d'un nb de nuits, ta BD sera complète. L'autre script, celui chargé de faire les copies de fichiers ou autre action, se basera sur cette BD pour se connecter. S'il rencontre un pb de connexion, il essaiera l'autre couple d'id/mdp et en cas de succès, mettre à jour la BD.
 
edit : pourquoi pas une connexion en ssh ?


Message édité par rufo le 13-01-2016 à 22:53:34

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-01-2016 à 07:52:50    

Le temps de s'y connecter, oui... hé en face c'est un Windows hein, même version "Embedded" en connexion par RDP/Dameware/VNC/whatelse, le temps de s'y connecter, de fermer la session actuelle en bypassant l'autologon, d'entrer le login/mdp admin, d'avoir l'acceptation ou le refus...
Comme en plus :
- il y a des équipements à perpette-les-oies, avec une connexion livrée par des corbeaux, quand ils ont le vent dans le dos ça monte à du 1Mb maxi avec un ping de 250-300ms.
- je ne peux pas dégager x heures sur mon temps de travail pour le faire, impossible de le faire à la main sinon ça durera 1 an (et derrière ça commence à piquer, ça fait déjà 6 mois que ça demande mais personne veut s'y coller à la main)

 

Et c'est du Windows sur lequel on ne peut rien ajouter, pas de SSH :non:
ça aurait été un Linux ou un Mac quelconque, un script Perl pour faire ça, j'aurais pas eu besoin de demander :lol:

 

En dernières idées qui me sont passés cette nuit
- regarder à tout hasard l'adresse MAC et voir si je peux "deviner" 2 modèles
- se connecter par un bête "net use z: \\monbouzin\c$ /user:admin mdpadmin1" et de lire le code d'erreur.
Si ERROR_INVALID_PASSWORD (erreur 86), c'est que le mot de passe n'est pas bon. Je teste au taf et je vois si c'est réalisable ainsi sinon...
- je laisse mon Dameware ouvert et je programme un bot qui simule des clics de souris [:the geddons]

 

Seulement il me manque toujours l'émulation d'une ouverture de session sur le poste.


Message édité par bardiel le 14-01-2016 à 07:54:36

---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 14-01-2016 à 08:23:16    

L'idée de rufo me parait valable, au moins tu ne fait le boulot en double qu'une fois.

Reply

Marsh Posté le 14-01-2016 à 09:22:06    

Ok, pas de SSH. Mais un script en AutoIt qui va tenter les connexions avec les couples id/mdp et créer une BD @IP /id/mdp (par lot, la nuit via le planificateur de tâches de Windows) pour le 2ème script qui fera les actions nécessaires, ça me paraît jouable, non ?
 


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 14-01-2016 à 19:08:42    

ça me paraît plus jouable et surtout plus pérenne, car à la suite il ne faudrait mettre dans cette BDD (un simple CSV suffit) le MDP, seulement là manque toujours l'ouverture de session à émuler.
 
J'ai voulu jouer avec le code retour de net use, avec les 2 mots de passe ça me renvoie l'erreur 86 comme si le mot de passe n'est pas bon.
Connexion via Dameware et ouverture de session Windows classique -> c'est ok avec le "bon" MDP.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 15-01-2016 à 11:54:49    

L'ouverture de session peut tout à fait se gérer via Dameware ou similaire, piloté par AutoIt ;)
Pour la BD, je parlais au sens large du terme.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-01-2016 à 11:54:49   

Reply

Marsh Posté le 15-01-2016 à 18:30:51    

Sauf que de base je cherchais plutôt à faire un truc "autonome"...
Le pilotage d'un Dameware serait à faire vraiment en dernier recours.
 
BD au sens large du terme, pour moi ça ne peut se réduire qu'à un fichier de type CSV de manière à ce que ça soit le plus portable et sans rien devoir installer sur un PC. Si je dois me coltiner l'installation d'un serveur ODBC/SQL/what else, ça sera un non direct.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed