Les Allergies
Alimentaires
Posez votre question Signaler

Passer un script avec telnet a partir de DOS

Joffrey - Dernière réponse le 9 août 2011 à 23:38
Bonjour a tous,

Je travaille actuellement sur un fichier .bat dont le but est d automatiser un process. Le debut du script consiste a faire des set de plusieurs variables. Puis je dois me connecter a une cible et lancer une connection telnet puis faire 3 command a l interieur de telnet :

< cd "prod/bin"

<putenv("OSAGENT_PORT=999")

<load.cmd

Mon PC est un P3 800 qui tourne sous Win NT 4.0
La cible est un P3 650 tournant sous VxWorks

J ai trouve par mes propres moyens que pour lancer telnet et executer le script Toto automatiquement, il fallait utiliser la commande suivante dans la fenetre DOS:

telnet 3.233.12.14 -s toto.txt

Cependant, lorsque je tape la commande avec ds toto.txt les 3 commandes citees ci dessus, cela ne marche pas et j ai eu beau retourner la question, je suis perdu ...

Je vous remercie a l avance pour votre aide, meme si vous n avez que des pistes je suis preneur.

Encore merci a vous tous


Jojo
Lire la suite 

Passer un script avec telnet a partir de DOS »

21 réponses
Réponse
+3
moins plus
OK après avoir posé moi-même la même queqtion, je crois avoir deux réponses qui fonctionnent bien:
1/ avec un script VBS on peut passer des commandes à Telnet... Ca semble bien marcherpour l'envoi de commandes mais je n'ai pas pu recevoir les réponses (ex: je peux demander de lire des messages POP mais ils s'affichent à l'écran et je n'ai pas trouvé commente récupérer le contenu des messages... pas ex pour le coller dans un fichier)
Bref... pour envoyer la lecture des messages le script est ci dessous :
set wsh=wscript.createobject("wscript.shell")
wsh.run "telnet.exe -f telnet.log pop.free.fr 110"
wscript.sleep 1000
wsh.sendkeys "user toto~"
wscript.sleep 1000
wsh.sendkeys "pass motdepasse~"
wscript.sleep 1000
wsh.sendkeys "list~"
wscript.sleep 1000
wsh.sendkeys "retr 1~"
wscript.sleep 1000
wsh.sendkeys "quit~"
wscript.sleep 1000
wsh.sendkeys "~"
wscript.sleep 1000

Vous copiez le texte ci-dessus dans un fichiers x.vbs sur votre bureau et en cliquant dessus ça lit la boite TOTO chez FREE avec le mot de passe MOTDEPASSE
et ensuite ça charge et affiche le premier message... si il existe !

2/ comme cette solution ne me plaisait pas beaucoup, j'ai fini par développer un petit "truc" avec DELPHI qui va tip-top !
Il reçois les messages, les analyse et en tire quelques info à placer en base de données...
Si ça intéresse quelqu'un passez moi un petit mot sur RIPPLINGER.Christian@online.fr et je vous fais passer le source... si vous n'avez pas DELPHI je vous donnerai directement l'exécutable.
Quant-à la réponse pour JOFFREY... ce n'est pas du POP mais je crois que l'acceès TELNET doit être à peu près aussi simple depuis DELPHI... donne-moi un peu plus d'info (du style un exemple de site où tu veux passer des commandes) pour que j'essaye et je te dirai comment faire...
Ajouter un commentaire
Réponse
+3
moins plus
tu peux utiliser TERATERM Macro (gratuit sur le net) avec les commandes suivantes:

connect 'nom du serveur ou @IP serveur'
wait 'login:'
sendln 'login de connection telnet'

wait 'Password:'
sendln 'mot de pass'
et apres meme syntaxe pour tes autres commandes ...

A+
REXAS.
Yvan92 - 4 nov. 2006 à 17:51
Bonjour,
J'ai installé tera term.
Mais je ne trouve pas de tuto pour faire des macro.
As tu un tuto ou exemple de macro plus complexe (var,argument etc ..)

Ou un autre logiciel qui pourrais me permettre de faire la meme choase (macro en telnet et port com)

Merci d'avance
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,

Tu peux utiliser expect sous windows.

http://expect.nist.gov/#windows

A+

Herve
Mellah2- 5 août 2006 à 03:33
Trouve ci-après la commande en ligne et un exemple de script.


C:\Program Files\Expect-5.21\bin>expect.exe expect_run_telnet @IP commande

Script:
# Program Name: expect_run_telnet
# Date: 08/05/2006
# Intent: This "expect" program is a wrapper to automate sending commands
# through the telnet interface.
#
# Usage: expect_run_telnet <Ipaddr> <command>


proc telnetLogin {user passwd prompt} {
expect {}
send "$user\r"
expect "Password:"
send "$passwd\r"
expect $prompt
return "0"
}

#
# main
#

# Exit if not enough args supplied
if {$argc != 2} {
puts "\nincorrect number of arguments supplied"
puts " \nusage: $argv0 <Ipaddr> <cmd>"
puts "\nexiting ..."
exit
}

set Ipaddr [lindex $argv 0]
set cmd [lindex $argv 1]

# login parameters
set suser admin
set spasswd password
set sprompt >

set timeout 100
spawn telnet $Ipaddr

set sw_spid $spawn_id

# exit since it was not possible to connect.
catch {telnetLogin $suser $spasswd $sprompt} code
if {$code != 0} {
puts "unable to access $Ipaddr"
exit
}

set spawn_id $sw_spid

# send the command
send "$cmd\r"
expect $sprompt
puts "\n"


Herve
Ajouter un commentaire
Réponse
+1
moins plus
SI vous plait aidez moi, je suis vraiment en galere et meme si vous pensez que votre idee est pourrie donnez la qd meme !! J accepte tout !!!

Encore merci d avance
Ajouter un commentaire
Réponse
+1
moins plus
ptete sans les "" ?
Ajouter un commentaire
Réponse
+1
moins plus
Essaie avec telnet 3.233.12.14 <toto.txt
steph - 1 avril 2010 à 10:44
j'ai essayé pour l'envoie d'un mail mais rien n'y fait. Pourtant mon fichier d'entrée est bon, je l'ai testé manuellement en mode interactif ligne par ligne.
telnet smtp.truc.com 25 < commandsend.txt
Des idées ?
Ajouter un commentaire
Réponse
+1
moins plus
salut,
je sais c'est pas terrible, mais bon
j'edite le fichier.bat (avec le bloc notes), je fais sélectionner tout/copier,et dans telnet je fais clic de droite coller dans la console.
ça évite déjà de tout taper une deuxième fois...

A+
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour... j'arrive peut être un peu tard mais j'ai le même problème que toi...
Je cherche à automatiser la réception de messages pop pour
les traiter par un batch sous DOS.
La réception ne pose pas de problème "à la main" mais impossible d'utiliser un SCRIPT ou BATCH avec Telnet...
As tu trouvé une solution sympa ?
Ajouter un commentaire
Réponse
+0
moins plus
Merci bien, j ai essaye mais cela ne marche pas, cependant grace a vous j ai trouve une piste je pense pouvoir faire passer un script VBA avec la commande et ca doit normalement marcher ....

Si qqun connait un bon site sur le VBA avec tuto et tout je suis partant
Florian - 23 avril 2004 à 13:49
Tu veux des cours sur le VBA... Essaies : www.developpez.com

Tu devrai trouver ton bonheur.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

j'ai le même problème que vous. Quelqu'un a t'il trouvé une solution ?
Ajouter un commentaire
Réponse
+0
moins plus
bonjour à tous j'ai besoin de votre aide , j'ai réalisé un logiciel sous delphi et c bon maintenant j'ai besoin de quelqu'un qui m'aide d'avoir l'exécutable dans une autre machine sans aide de la base de données, svp aidez moi, car je vais le présenter il marche bien mais le problème que je vais le présenter dans une autre machine et il ne faut pas que j'installe le delphi sur cette machine et aussi il faut qu'il soit dépend de la bases de données.
merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
Salut je voudrai bien savoir coment se connecter à un serveur via telnet, avec un poste connecté à l'internet par un reseau local.
Ajouter un commentaire
Réponse
+0
moins plus
slt tlmnd.
je suis en stage et je doit configurer un accès telnet: login, psswd et tt sa quoi mais c'est ma premiere fois de toucher à telnet! please help!!!
OOoForum- 3 sept. 2008 à 21:16
Quel est le rapport avec le problème exposé en 2003 ?

TelNet est de toute façon un protocole non sécurisé, il faut passer par SSH.
othanga - 31 oct. 2008 à 19:05
le rapport est telnet. c'est le fil rouge renvoyé par google... un fil rouge que le lecteur ne lit pas ou ne comprend pas (c'est au choix).
Quant au "de toute façon", je ne comprend pas cette réaction à l'emporte-pièce pas plus que cette mode du tout-sécurisé. J'ai dans mon architecture certains processus où telnet est utilisé et ça ne cause aucun problème.
Un échange doit être protégé quand il circule dans l'espace public, mais tant que tu restes confiné dans un espace privé, pourquoi te compliquer la vie à le sécuriser ?
Faudrait-il tout sécuriser ? https ? pops ? smtps ? echos ? calltos ? menfins ?
Une solution plus longue mais plus efficace serait d'apprendre aux gens à réfléchir, à se poser les bonnes questions : ce flux doit-il être crypté ? pourquoi diable ce telnet refuse-t-il mon fichier en entrée ?

Au fait... pourquoi telnet refuse-t-il un fichier en entrée ?
Derdonn - 29 mars 2011 à 17:19
C'est vrai ça... pourquoi?!!!
Ajouter un commentaire
Réponse
+0
moins plus
Utilisez Kitty, permet de faire une connexion telnet en automatique, et de lancer les commandes que l'on veux.....
Ajouter un commentaire
Ce document intitulé « Passer un script avec telnet a partir de DOS » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?