Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Jirafa98 en 7 Enero 2015, 16:13 pm



Título: Ejecutar vbs cuando se inicia windows 7
Publicado por: Jirafa98 en 7 Enero 2015, 16:13 pm
Hola, mi intención es ejecutar un archivo .vbs al iniciar windows 7 en modo invisible.

Cree un archivo llamado acciones.vbs que tiene la finalidad de ejecutar un archivo batch en modo invisible:

Código
  1. Set WshShell = CreateObject("WScript.Shell")
  2. WshShell.Run chr(34) & "ipconfig.bat" & Chr(34), 0
  3. Set WshShell = Nothing

Este es el contenido del archivo ipconfig.bat que se ejecutará en modo invisible (el código ipconfig es solo una prueba de funcionamiento):
Código
  1. @echo off
  2. ipconfig > result.txt
  3. exit

Entonces estando en el escritorio y cuando ejecuto el archivo acciones.vbs se ejecuta a su vez el archivo ipconfig.bat en modo invisible y este último crea result.txt con el contenido de ipconfig como se esperaba, ...nada de otro mundo.

Y ahora lo que quiero es hacer lo mismo pero al iniciar windows, cree un batch llamado instala.bat con lo siguiente:

Código
  1. @echo off
  2. REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "MiScript" /t REG_SZ /f /d "%UserProfile%\AppData\Local\Microsoft\Windows\WER\acciones.vbs"
  3. exit
  4.  

Y efectivamente se creó la entrada:
(http://i.imgur.com/EtSxWZh.png)

Entonces reinicio la pc y me sale esto:
(http://i.imgur.com/xAnwd18.png)

 :-[ Porsupuesto que los dos archivos están en el mismo directorio, si entro directamente a la ruta ".....AppData\Local\Microsoft\Windows\WER" y ejecuto manualmente acciones.vbs se crea result.txt sin problemas.
Entonces que pasa aquí, cual es mi error, ¿Por que me muestra ese error cuando se ejecuta iniciando en windows? cualquier ayuda me va venir bien.

Saludos.


Título: Re: Ejecutar vbs cuando se inicia windows 7
Publicado por: Eleкtro en 7 Enero 2015, 17:28 pm
¿Por que me muestra ese error cuando se ejecuta iniciando en windows?

Invoca el Script desde el motor de Windows Script Host (WSH):
Código:
"%SystemRoot%\System32\WScript.exe" "%LocalAppData%\Microsoft\Windows\WER\acciones.vbs"
o:
Código:
"%SystemRoot%\System32\CScript.exe" "%LocalAppData%\Microsoft\Windows\WER\acciones.vbs"

Código
  1. REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "*MiScript" /D "\"%SystemRoot%\System32\WScript.exe\" \"%LocalAppData%\Microsoft\Windows\WER\acciones.vbs\"" /F

Saludos


Título: Re: Ejecutar vbs cuando se inicia windows 7
Publicado por: Jirafa98 en 7 Enero 2015, 18:49 pm
Gracias por responder, he actualizado el código como recomiendas, ejecute el instala.bat y el resultado en el regedit ahora se ve así:
(http://i.imgur.com/1Ethgjx.png)
Pero cuando reinicié me mostró el mismo mensaje de error de antes, también intenté cambiando a CScript.exe y no muestra error, pero tampoco se ejecuta el archivo acciones.vbs.
Quedo atento a tus comentarios.


Título: Re: Ejecutar vbs cuando se inicia windows 7
Publicado por: Eleкtro en 7 Enero 2015, 19:30 pm
El error se explica por si mismo, el archivo no se encuentra ubicado donde le estás indicando,
corrige la ruta en la linea 2 dentro del script acciones.vbs.

Suponiendo que en la linea 2 tengas estas instrucciónes:
Código
  1. WshShell.Run chr(34) & "ipconfig.bat" & Chr(34), 0

Y suponiendo que el archivo ipconfig.bat exista y esté ubicada junto al vbs, es decir, en C:\Users\Trolencio\AppData\Local\Microsoft\Windows\WER\ipconfig.bat, entonces especifica la ruta absoluta, o modifica el directorio de trabajo actual del Script:

Código
  1. Set objShell = CreateObject("Wscript.Shell")
  2. objShell.CurrentDirectory = "C:\Users\Trolencio\AppData\Local\Microsoft\Windows\WER"

Saludos


Título: Re: Ejecutar vbs cuando se inicia windows 7
Publicado por: Jirafa98 en 7 Enero 2015, 19:52 pm
Gracias nuevamente por responder, efectivamente tienes razón, el problema era la ruta interna del archivo vbs. Fuí un tonto al no darme cuenta del mensaje de error.

Ya se ejecuta el script y ahora si soy feliz  ;-)

Muchas gracias, saludos.