[..] Utilisation de Plink dans Autoit

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
snoopg60
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 25 déc. 2008 14:55
Status : Hors ligne

[..] Utilisation de Plink dans Autoit

#1

Message par snoopg60 »

Bon, et bien je vous présente mon petit souci du moment:

Je suis en train de faire un programme sous autoit qui me permettra de surveiller un parc de machines windows & unix.
Le but, assez simple, est de vérifier la présence de process et la taille de certains File System.
Sous windows, aucun souci, j'ai déjà trouvé comment faire.

Par contre je bloque sous Unix, j'essaye de me servir de l'utilitaire 'plink.exe', mais sans grand succès...
Via mon script, je souhaite me connecteur sur un host avec un login & password, puis passer une commande ("ps -ef|grep -i xxx" dans le cas présent), & enfin récupérer le résultat dans un fichier texte que je traiterais ensuite.

J'avoue avoir un mal fou à me servir de plink en ligne de commande :(

Voilà le bout de code que j'ai pû trouver sur ce forum pour commencer mon script, mais après plusieurs essais, je n'arrive pas à passer ma commande et à récupérer le résultat.

Code : Tout sélectionner

$password="mdp"
$login="login"
$machine="hxxxxxx"
$commande="ps -ef|grep -i xxx"
$flux_out=Run(@ComSpec&' /c plink -pw '&$password&' '&$login&'@'&$machine&' < '&$commande,@WorkingDir,@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)
$rep_err=""
$rep_ok=""

While 1
    $rep_err &= StderrRead($flux_out)
    If @error Then ExitLoop
   
    $rep_ok &= StdoutRead($flux_out)
    If @error Then ExitLoop
Wend

MsgBox(0, "STDOUT read:", $rep_ok)
MsgBox(0, "STDERR read:", $rep_err)
Où et quand placer cette commande ? J'ai fait plusieurs essais et ça foire lamentablement... :oops:
Peut-être que 'plink' n'est pas le meilleur outil pour ce que je veux faire ?
Merci d'avance pour votre aide :wink:
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#2

Message par jbnh »

Mhhh, dans le script je vois pas spécialement d'erreur.
T'as quoi comme erreur, ça te retourne quoi ?
Essaye manuellement dans le cmd, et vois déjà si ta commande marche.

Sinon essaye:

Code : Tout sélectionner

$password="mdp"
$login="login"
$machine="hxxxxxx"
$commande="ps -ef|grep -i xxx"
$flux_out=Run(@ComSpec&' /c plink -pw '&$password&' '&$login&'@'&$machine&' < '&$commande,@WorkingDir,@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)
$rep_err=""
$rep_ok=""

While 1
    $rep_err &= StderrRead($flux_out)
    If @error Then ExitLoop
    MsgBox(0, "STDERR read:", $rep_err)
    
    $rep_ok &= StdoutRead($flux_out)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT read:", $rep_ok)
Wend
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
snoopg60
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 25 déc. 2008 14:55
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#3

Message par snoopg60 »

Honte à moi, je n'ai plus le message exact d'erreur en tête...
Grosso modo, ça me disait que ma commande "ps -ef|grep etc" n'était pas reconnu comme une commande valide par plink.

Je vais voir demain pour noter les erreurs et tester ton script, merci :wink:
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#4

Message par jbnh »

Grosso modo, ça me disait que ma commande "ps -ef|grep etc" n'était pas reconnu comme une commande valide par plink.
A ce moment la ton script y est pour rien et autoit ne sait en rien t'aider à faire marcher ta commande pour plink. Si t'as commande marche pas déjà à la base, ton script ne pourra en aucun cas récupérer le texte retourné par la commande. Je me trompe ?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
snoopg60
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 25 déc. 2008 14:55
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#5

Message par snoopg60 »

Désolé pour ma dernière réponse, elle n'était pas valable. J'ai refait des tests ce matin et j'ai résolu quelques soucis de paramétrage (rien à voir avec autoit).

En conclusion de mes tests, j'ai noté j'ai deux problèmes distincts:
- le premier concerne l'utilisation de plink, ce qui est indépendant d'autoit, il faut donc que je fasse des recherches à côté.
- mon deuxième problème est de pouvoir récupérer les infos sur la sortie standard de plink. Et là je pense que c'est un problème autoit, je n'utilise peut-être pas la bonne commande ?

Exemple: si je tape directement la commande "plink -telnet machine", j'ai une fenetre de ce type qui s'ouvre:

Code : Tout sélectionner

AIX Version 4
(C) Copyrights by IBM and by others 1982, 1996.
login:
Et lorsque je passe par le script:

Code : Tout sélectionner

#include <Constants.au3>
#include <array.au3>

$machine="machine"
$commande="ps -ef|grep -i surveil"

$rep_err=""
$rep_ok=""

$flux_out=Run(@ComSpec&' plink -telnet '&$machine,@WorkingDir,@SW_HIDE,$STDERR_CHILD + $STDOUT_CHILD)


While 1
    $rep_err &= StderrRead($flux_out)
    If @error Then ExitLoop
    MsgBox(0, "STDERR read:", $rep_err)
   
    $rep_ok &= StdoutRead($flux_out)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT read:", $rep_ok)
Wend
Et bien je n'ai absollument rien en sortie ! Impossible de récupérer les infos pour les mettre en fichier texte !
Y a t'il une autre commande pour cela ?
snoopg60
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 25 déc. 2008 14:55
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#6

Message par snoopg60 »

J'ai beau essayer dans tous les sens, impossible de récupérer quoique ce soit en STDOUT... :(

Quelqu'un aurait-il une idée ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#7

Message par Tlem »

Voici un lien qui pourrait peut-être vous aider.
http://www.autoitscript.com/forum/index ... opic=25359
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
Manwe
Niveau 4
Niveau 4
Messages : 57
Enregistré le : mer. 08 oct. 2008 09:21
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#8

Message par Manwe »

Salut,
essaye avec ca :

Code : Tout sélectionner

$flux_out=Run(@ComSpec& ' /c plink -telnet '&$machine&' ' ,@WorkingDir,@SW_HIDE, $STDIN_CHILD + $STDERR_CHILD + $STDOUT_CHILD)
Manwe
Un clavier azerty en vaut deux.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11823
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Utilisation de Plink dans Autoit

#9

Message par Tlem »

Pour la recherche du forum, voici un lien vers un Wrapper qui semble piloter correctement Plink : http://www.autoitscript.com/forum/topic ... _p__890269
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é".
Répondre