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
 

Leer las respuestas

#1 Daniel Ríos
02/09/2008 - 10:16 | Informe spam
No voy a revisar el sript porque no dispongo de los conocimientos necesarios
sobre VB para poder comentarlo, pero sí te podría indicar cómo probar a
ejecutarlo.
¿Qué ocurre si lo ejecutas al iniciar sesión de forma automática, es decir,
has probado a cargarlo en la carpeta Inicio de Inicio --> Programas?
Si es un EXE, ¿probaste a cargarlo como un servicio, que se ejecute a través
de una tarea de Windows?

Daniel Ríos



"angelInformatica" escribió en el mensaje
news:
Buenos días a

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 = ""
oEmail.To = ""
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 similares