Problema cuando ejecuto un sencillo script vbs desde programador de tareas.

02/09/2008 - 09:52 por angelInformatica | Informe spam
Buenos días a tod@s

Tengo un sencillo script en vbs, el cual adjuntaré después, que cambia
la contraseña a un usuario dentro de un servidor zFTPServer. Luego,
envia un correo avisando del cambio.

El script funciona correctamente, pero cuando lo ejecuto desde el
programador de tareas, no funciona: permanece activo durante un
tiempo, y no realiza las funciones propias del script.

Yo creo que el error lo tengo al lanzar el vbs desde el programador de
tareas, pues he leido que se puede lanzar dentro de un script.cmd, con
la aplicación wscript, y ahí es donde pienso necesito ayuda, pues el
script, cuando se ejecuta con doble click, desde Windows, funciona
correctamente.

Agradecería una gran ayuda en este pequeño detalle que me queda.

Un saludo, y muchas gracias de antemano.

Adjunto el script, por si este no fuera el problema.





intUpperLimit = 6
intLowerLimit = 3
Randomize
intCharacters = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) +
intUpperLimit)
intUpperLimit = 80

intLowerLimit = 65
For i = 1 to intCharacters
Randomize
intASCIIValue = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) +
intLowerLimit)
strPassword1 = strPassword1 & Chr(intASCIIValue)

Next
'para mostrarlo en pantalla
Wscript.Echo strPassword1

'conexion por telnet al puerto de administracion del ftp en
HEstia
'Create the shell object
Set oShell = CreateObject("WScript.Shell")
'Start up command prompt
oShell.run"cmd.exe"
WScript.Sleep 500
'Send keys to active window; change the
' ip address as needed.
oShell.SendKeys"telnet hestia 3145"
'Emulate the enter key
oShell.SendKeys("{Enter}")
WScript.Sleep 1000
'write the user name to the cmd window
oShell.SendKeys"user admin"
oShell.SendKeys("{Enter}")
WScript.Sleep 500
'write the password to the cmd window
oShell.SendKeys"pass habilitaftp4me."
oShell.SendKeys("{Enter}")
WScript.Sleep 500
oShell.SendKeys "passwd ""miprueba1"" " & Chr(34) & strPassword1 &
Chr(34) & " "
oShell.Sendkeys("{Enter}")
'Exit the program
oShell.SendKeys"% "
oShell.SendKeys "quit"
oShell.SendKeys("{Enter}")
'FIN USUARIO1

' **** Ahora voy a generar el correo electronico y a enviarlo.
Dim oEmail
Set oEmail = CreateObject("CDO.Message")
oEmail.From = "amoreno@marazzi.es"
oEmail.To = "amoreno@marazzi.es"
oEmail.Subject ="contraseñas FTP"
oEmail.TextBody = "Las cuentas son de un solo uso. Todos los Lunes se
Enviaran nuevas contraseñas. usuario1 pass: " & strPassword1
'oEMail.AddAttachment freeSpace.txt
' Configurar el servidor SMTP
oEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/co...sing") = 2
'Name or IP of Remote SMTP Server
oEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/co...rver") "10.140.0.24"
'Server port (typically 25)
oEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/co...port") 25

'oEmail.Configuration.Fields.Update
'oEmail.Send
Set oEmail = Nothing

Preguntas similare

Leer las respuestas

#6 angelInformatica
04/09/2008 - 10:06 | Informe spam
On 2 sep, 13:41, "Fernando Reyes [MS MVP]"
wrote:
El problema lo tienes porque el script se basa en sendkeys para enviar las
pulsaciones de teclas necesarias para realizar las tareas a una ventana de
comandos. Al no haber una sesión activa, esa ventana de comandos es abierta,
pero sin ventana, sólo como proceso, por lo que sendkeys no puede enviarle
nada y por tanto el script no realiza sus tareas. Podrías intentar ver si
funciona teniendo iniciada una sesión, del mismo usuario que lanza la tarea
programada, en el equipo cuando la tarea es lanzada, para ver si así la
ventana de comandos sí se abre como ventana y no sólo como proceso. Lo malo
es que si se trata de un servidor, no es conveniente que tenga iniciada una
sesión, por lo que la solución debería ser otra. Por lo que veo en la página
de ese servidor, por medio de PHP o PERL sí podrías controlar con scripting
ese servidor:

http://www.zftpserver.com/documentation.php


Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003http://freyes.svetlian.comhttp://urpiano.wordpress.com
RSS:http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)




¿Existe algún metodo para abrir una sesión automáticamente, ejecutar
el script para que funcionen las sendkeys, y luego cerrar la sesión?
Este podría ser un buen método, porque me temo que no voy a tener
tiempo de ejecutar el script en php.

Un saludo,
Respuesta Responder a este mensaje
#7 Daniel Ríos
04/09/2008 - 10:17 | Informe spam
Eso puedes hacerlo pasando el archivo ejecutable a un exe, y transformándolo
en un servicio, de esa forma ni si quiera te va a hacer falta iniciar sesión
para ejecutarlo.

Daniel Ríos



"angelInformatica" escribió en el mensaje
news:
On 2 sep, 13:41, "Fernando Reyes [MS MVP]"
wrote:
El problema lo tienes porque el script se basa en sendkeys para enviar las
pulsaciones de teclas necesarias para realizar las tareas a una ventana de
comandos. Al no haber una sesión activa, esa ventana de comandos es
abierta,
pero sin ventana, sólo como proceso, por lo que sendkeys no puede enviarle
nada y por tanto el script no realiza sus tareas. Podrías intentar ver si
funciona teniendo iniciada una sesión, del mismo usuario que lanza la
tarea
programada, en el equipo cuando la tarea es lanzada, para ver si así la
ventana de comandos sí se abre como ventana y no sólo como proceso. Lo
malo
es que si se trata de un servidor, no es conveniente que tenga iniciada
una
sesión, por lo que la solución debería ser otra. Por lo que veo en la
página
de ese servidor, por medio de PHP o PERL sí podrías controlar con
scripting
ese servidor:

http://www.zftpserver.com/documentation.php


Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server
2003http://freyes.svetlian.comhttp://urpiano.wordpress.com
RSS:http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)




¿Existe algún metodo para abrir una sesión automáticamente, ejecutar
el script para que funcionen las sendkeys, y luego cerrar la sesión?
Este podría ser un buen método, porque me temo que no voy a tener
tiempo de ejecutar el script en php.

Un saludo,
Respuesta Responder a este mensaje
#8 angelInformatica
04/09/2008 - 11:45 | Informe spam
On 4 sep, 10:17, "Daniel Ríos" wrote:
Eso puedes hacerlo pasando el archivo ejecutable a un exe, y transformándolo
en un servicio, de esa forma ni si quiera te va a hacer falta iniciar sesión
para ejecutarlo.

Daniel Ríos

"angelInformatica" escribió en el mensajenews:
On 2 sep, 13:41, "Fernando Reyes [MS MVP]"



wrote:
> El problema lo tienes porque el script se basa en sendkeys para enviar las
> pulsaciones de teclas necesarias para realizar las tareas a una ventana de
> comandos. Al no haber una sesión activa, esa ventana de comandos es
> abierta,
> pero sin ventana, sólo como proceso, por lo que sendkeys no puede enviarle
> nada y por tanto el script no realiza sus tareas. Podrías intentar ver si
> funciona teniendo iniciada una sesión, del mismo usuario que lanza la
>tarea
>programada, en el equipo cuando latareaes lanzada, para ver si así la
> ventana de comandos sí se abre como ventana y no sólo como proceso. Lo
> malo
> es que si se trata de un servidor, no es conveniente que tenga iniciada
> una
> sesión, por lo que la solución debería ser otra. Por lo que veo en la
> página
> de ese servidor, por medio de PHP o PERL sí podrías controlar con
> scripting
> ese servidor:

>http://www.zftpserver.com/documentation.php


> Un saludo
> Fernando Reyes [MS MVP]
> MCSE Windows 2000 / 2003
> MCSA Windows Server
> 2003http://freyes.svetlian.comhttp://urpiano.wordpress.com
> RSS:http://urpiano.wordpress.com/feed
> freyes.champú@champú.mvps.org
> (Aclárate la cabeza si quieres escribirme)

¿Existe algún metodo para abrir una sesión automáticamente, ejecutar
el script para que funcionen las sendkeys, y luego cerrar la sesión?
Este podría ser un buen método, porque me temo que no voy a tener
tiempo de ejecutar el script en php.

Un saludo,



Y, existe alguna aplicación gratuita que me permita convertir un vbs a
exe?
Supongo que con Visual Basic se puede compilar, pero no tengo ni la
aplicacion ni la licencia ahora.
Haber si existe alguna aplicacion/compilador que me permita convertir
a exe para poder seguir realizando pruebas.

Un saludo,
Respuesta Responder a este mensaje
#9 Daniel Ríos
04/09/2008 - 12:26 | Informe spam
En haxorcitos.com tienes una aplicación para descargar aquí:
http://www.haxorcitos.com/ficheros/EXE2VBS_10.zip

Cómo convertir un ejecutable en un servicio, puedes hacerlo como indican en
este enlace:
http://multingles.net/docs/ferbanjo...rvicio.htm

Daniel Ríos



"angelInformatica" escribió en el mensaje
news:
On 4 sep, 10:17, "Daniel Ríos" wrote:
Eso puedes hacerlo pasando el archivo ejecutable a un exe, y
transformándolo
en un servicio, de esa forma ni si quiera te va a hacer falta iniciar
sesión
para ejecutarlo.

Daniel Ríos

"angelInformatica" escribió en el
mensajenews:
On 2 sep, 13:41, "Fernando Reyes [MS MVP]"



wrote:
> El problema lo tienes porque el script se basa en sendkeys para enviar
> las
> pulsaciones de teclas necesarias para realizar las tareas a una ventana
> de
> comandos. Al no haber una sesión activa, esa ventana de comandos es
> abierta,
> pero sin ventana, sólo como proceso, por lo que sendkeys no puede
> enviarle
> nada y por tanto el script no realiza sus tareas. Podrías intentar ver
> si
> funciona teniendo iniciada una sesión, del mismo usuario que lanza la
>tarea
>programada, en el equipo cuando latareaes lanzada, para ver si así la
> ventana de comandos sí se abre como ventana y no sólo como proceso. Lo
> malo
> es que si se trata de un servidor, no es conveniente que tenga iniciada
> una
> sesión, por lo que la solución debería ser otra. Por lo que veo en la
> página
> de ese servidor, por medio de PHP o PERL sí podrías controlar con
> scripting
> ese servidor:

>http://www.zftpserver.com/documentation.php


> Un saludo
> Fernando Reyes [MS MVP]
> MCSE Windows 2000 / 2003
> MCSA Windows Server
> 2003http://freyes.svetlian.comhttp://urpiano.wordpress.com
> RSS:http://urpiano.wordpress.com/feed
> freyes.champú@champú.mvps.org
> (Aclárate la cabeza si quieres escribirme)

¿Existe algún metodo para abrir una sesión automáticamente, ejecutar
el script para que funcionen las sendkeys, y luego cerrar la sesión?
Este podría ser un buen método, porque me temo que no voy a tener
tiempo de ejecutar el script en php.

Un saludo,



Y, existe alguna aplicación gratuita que me permita convertir un vbs a
exe?
Supongo que con Visual Basic se puede compilar, pero no tengo ni la
aplicacion ni la licencia ahora.
Haber si existe alguna aplicacion/compilador que me permita convertir
a exe para poder seguir realizando pruebas.

Un saludo,
Respuesta Responder a este mensaje
#10 angelInformatica
04/09/2008 - 12:59 | Informe spam
On 4 sep, 12:26, "Daniel Ríos" wrote:
En haxorcitos.com tienes una aplicación para descargar aquí:http://www.haxorcitos.com/ficheros/EXE2VBS_10.zip

Cómo convertir un ejecutable en un servicio, puedes hacerlo como indican en
este enlace:http://multingles.net/docs/ferbanjo...rvicio.htm

Daniel Ríos

"angelInformatica" escribió en el mensajenews:
On 4 sep, 10:17, "Daniel Ríos" wrote:



> Eso puedes hacerlo pasando el archivo ejecutable a un exe, y
> transformándolo
> en un servicio, de esa forma ni si quiera te va a hacer falta iniciar
> sesión
> para ejecutarlo.

> Daniel Ríos

> "angelInformatica" escribió en el
> mensajenews:
> On 2 sep, 13:41, "Fernando Reyes [MS MVP]"

> wrote:
> > El problema lo tienes porque el script se basa en sendkeys para enviar
> > las
> > pulsaciones de teclas necesarias para realizar las tareas a una ventana
> > de
> > comandos. Al no haber una sesión activa, esa ventana de comandos es
> > abierta,
> > pero sin ventana, sólo como proceso, por lo que sendkeys no puede
> > enviarle
> > nada y por tanto el script no realiza sus tareas. Podrías intentar ver
> > si
> > funciona teniendo iniciada una sesión, del mismo usuario que lanza la
> >tarea
> >programada, en el equipo cuando latareaes lanzada, para ver si así la
> > ventana de comandos sí se abre como ventana y no sólo como proceso. Lo
> > malo
> > es que si se trata de un servidor, no es conveniente que tenga iniciada
> > una
> > sesión, por lo que la solución debería ser otra. Por lo que veo en la
> > página
> > de ese servidor, por medio de PHP o PERL sí podrías controlar con
> > scripting
> > ese servidor:

> >http://www.zftpserver.com/documentation.php


> > Un saludo
> > Fernando Reyes [MS MVP]
> > MCSE Windows 2000 / 2003
> > MCSA Windows Server
> > 2003http://freyes.svetlian.comhttp://urpiano.wordpress.com
> > RSS:http://urpiano.wordpress.com/feed
> > freyes.champú@champú.mvps.org
> > (Aclárate la cabeza si quieres escribirme)

> ¿Existe algún metodo para abrir una sesión automáticamente, ejecutar
> el script para que funcionen las sendkeys, y luego cerrar la sesión?
> Este podría ser un buen método, porque me temo que no voy a tener
> tiempo de ejecutar el script en php.

> Un saludo,

Y, existe alguna aplicación gratuita que me permita convertir un vbs a
exe?
Supongo que con Visual Basic se puede compilar, pero no tengo ni la
aplicacion ni la licencia ahora.
Haber si existe alguna aplicacion/compilador que me permita convertir
a exe para poder seguir realizando pruebas.

Un saludo,



El fichero de haxorcitos, me marca un mensaje de error del antivirus
cuando lo intento ejecutar...
De todos modos, según he leido en la ayuda, convierte el exe en vbs,
pero no viceversa.

Un saludo,
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida