Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2012
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Problema con Telnet y Script Vbs

Hola amigos, veran estoy desarrollando una aplicacion bastante basica, trabajo en Delphi XE3 Trial(a base de prueba) y Delphi 2010. La aplicacion debe efectuar un Backtup cada 12 Horas y despues de efectuar dicho Backup tiene que actualizar o cambiar la Ip publica del servidor o router.

El problema esta en que he intentado hacerlo de 2 formas y no he logrado obtener ese resultado.
- Desarrolle un cliente Telnet en Delphi (para mas exacto, el que esta en Delphi al Limite, no lo coloco porque no puedo poner enlaces), como prueba, donde le coloco el host del Router y puerto, el problema esta en que los resultados se muestran en un memo, y en este mismo se envian los comandos. Cuando conecto por cmd, me pide Username y Password, sin embargo en el cliente telnet no me muestra nada, si establece la conexion mas no pide usuario y password.

Codigo del Cliente Telnet

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Telnet.Host := IPServidor.Text;
Telnet.Port := StrToInt( Puerto.Text );
Telnet.Connect;
Log.SetFocus;
end;

procedure TForm1.LogKeyPress(Sender: TObject; var Key: Char);
begin
if not Telnet.Connected then
Exit;
if Key = #13 then
begin
Telnet.Socket.WriteLn( sComando );
sComando := '';
end
else
sComando := sComando + Key;
end;

procedure TForm1.TelnetConnected(Sender: TObject);
begin
 //Log.Lines.Add( 'Conectando con ' + Telnet.Host + '.' );
 //Log.Lines.Add( '' );
end;

procedure TForm1.TelnetDataAvailable(Sender: TIdTelnet;
  const Buffer: String);
begin
Log.Text := log.Text+Buffer;
Log.SelStart := Length( Log.Text );
end;

Y tambien cree un Script vbs , el cual me funciona perfectamente, el problema es que hay que clickear en el para que haga el cambio de Ip. Intente con

Código Delphi [-]
ShellExecute (application.handle, 'open', 'directorio/script.vbs', nil, nil, SW_MAXIMIZE);
Pero, unicamente me habre una cmd, pero cuando lanza cada uno de los comandos, me marca que los comandos no son reconocidos.
Comandos como Telnet 127.0.0.1 23 , cosa que es ilogico.

Ya cree una variable de entorno tipo Path con acesso a Telnet de windows y probe tambien otra variable tipo User con acceso a telnet y nada.

Alguien tiene una idea ya sea de como ejecutar el vbs desde la app de Delphi o porque no funciona el Telnet, o alguna solucion adicional.
De antemano muchas gracias.
Saludos.
Responder Con Cita
  #2  
Antiguo 18-12-2012
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.235
Poder: 20
ElKurgan Va camino a la fama
¿La plataforma es Windows 7?

Porque me parece recordar que hay servicios (como el Telnet) que no siempre se instalan activos por motivos de seguridad.
Prueba a ver si este es tu caso. Tienes que ir a "Panel de control\Programas" y ahí pulsamos sobre "Activar o desactivar características de Windows" y comprueba que están marcadas las opciones "Telnet Client" y "Telnet Server".

Tendrás que reiniciar Windows para que Telnet esté activo una vez instalado en el sistema.

Un saludo
Responder Con Cita
  #3  
Antiguo 18-12-2012
gersojn gersojn is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 85
Poder: 13
gersojn Va por buen camino
Cita:
Empezado por ElKurgan Ver Mensaje
¿La plataforma es Windows 7?

Porque me parece recordar que hay servicios (como el Telnet) que no siempre se instalan activos por motivos de seguridad.
Prueba a ver si este es tu caso. Tienes que ir a "Panel de control\Programas" y ahí pulsamos sobre "Activar o desactivar características de Windows" y comprueba que están marcadas las opciones "Telnet Client" y "Telnet Server".

Tendrás que reiniciar Windows para que Telnet esté activo una vez instalado en el sistema.

Un saludo
Hola amigo, gracias por responder, el servicio del Cliente Telnet si esta activo, la plataforma es Windows 7 64 bits.
Como he dicho anteriormente tengo un script vbs con el cual si efectuo el reinicio, pero por desgracia hay que clickar sobre el para que haga el cambio, y la idea es automatizar todo. El backup en la app ya lo hace, lo que quiero hacer es sincronizar ambos en el mismo tiempo.

este es el codigo del script vbs
Código:
Set cloner = CreateObject("WScript.Shell")
 cloner.run"cmd"
 WScript.Sleep 500
 
cloner.SendKeys"telnet 192.168.1.1 23"
 cloner.SendKeys("{Enter}")
 WScript.Sleep 50
 
cloner.SendKeys"user"
 cloner.SendKeys("{Enter}")
 WScript.Sleep 50
 
cloner.SendKeys"password"
 cloner.SendKeys("{Enter}")
 WScript.Sleep 500

cloner.SendKeys"menu"
 cloner.SendKeys("{Enter}")
 WScript.Sleep 10

cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{Enter}")
 WScript.Sleep 5

 cloner.SendKeys("{DOWN}")
 WScript.Sleep 5

 cloner.SendKeys("{RIGHT}")
 WScript.Sleep 5

cloner.SendKeys("{RIGHT}")
 WScript.Sleep 5

cloner.SendKeys("{RIGHT}")
 WScript.Sleep 5

 cloner.SendKeys("{Enter}")
 WScript.Sleep 10000
cloner.SendKeys("{Enter}")
 WScript.Sleep 10000
cloner.SendKeys("{Enter}")
 WScript.Sleep 10000

cloner.SendKeys"exit"
 cloner.SendKeys("{Enter}")
Este script funciona perfecto, para hacer el cambio de Ip publico, por telnet, el problema es que no puedo ejecutarlo desde la Aplicacion, no se porque sea o si se requiere de un metodo especial para ejecutar script vbs en delphi.
Sigo investigando, cualquier ayuda, aporte o sugerencia es bienvenida.
Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema Fast Script Alejo15x Varios 2 18-01-2010 18:48:26
problema al realizar el segundo telnet estudiante Internet 0 03-02-2009 23:48:09
problema con script dape PHP 4 31-01-2008 17:33:06
Cuantos <Script></Script> deben haber en un <Body>? Deiv HTML, Javascript y otros 9 07-12-2006 01:27:50
Telnet? chimorito Linux 3 22-04-2005 16:08:17


La franja horaria es GMT +2. Ahora son las 19:05:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi