Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: flepe en 7 Mayo 2014, 11:32 am



Título: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: flepe en 7 Mayo 2014, 11:32 am
Lo hago con el gpedit.msc el problema es que el proceso de apagado lo primero que hace es cerrar las conexiones, mi .bat es para insertar unos datos en el servidor y claro sin conexión no se puede, existe alguna manera de variar la secuencia de apagado para que el .bat sea lo primero que se ejecute.


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: Mad Antrax en 7 Mayo 2014, 12:51 pm
No conozco tal cosa (no digo que no se pueda hacer), pero se me ocurre la siguiente posibilidad:

Crea un BAT que realice las operaciones que desees y al finalizar el proceso llama al "shutdown -s -f -t 0"

Dicho BAT lo dejas en el escritorio con el nombre: APAGAR EQUIPO

Así el usuario solo tendrá que pulsar el BAT, se ejecutará tu función y finalmente se apagará.

Saludos


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: flepe en 7 Mayo 2014, 14:02 pm
La estructura del .bat es la siguiente :

start http://192.168.8.74/hora_apagado.php
ping -n 10 192.168.8.74

(Lo del ping es un comodin que he usado para que mientras lo hace le de tiempo a abrir el explorer y ejecutar hora_apagado.php)

La estructura del .php es la siguiente y esta colocado en el servidor:


<?php
$conex = mysql_connect("localhost", "root", "");
mysql_select_db("ala1", $conex);       
 $disponibilidad = 1;
 
      
        if($disponibilidad == 1) //si el nombre de usuario no coincide salvaremos los valores de la variable POST y los insertaremos en nuestra tabla usuarios
        {
        $IP  = $_SERVER["REMOTE_ADDR"]."";         // IP de origen
      @$Puerto .= $_SERVER["REMOTE_PORT"]."";       // Puerto de origen. Es innecesario, pero permite validar algunas cosas.
      @$Fechahora .= date("d/m/Y.H:i:s")."";             // Fecha y hora
      @$Pagina .= $_SERVER["REQUEST_URI"]."";         // Página solicitada
      @$Navegador .= $_SERVER["HTTP_USER_AGENT"]."";
      $consulta1 = "INSERT INTO logg (id_log,IP, Puerto,Fechahora,Pagina,Navegador,USER,fecha_apagado,tipo)
      VALUES ('','$IP' ,'$Puerto', '', '$Pagina','$Navegador','',now(),'2')";

      mysql_query($consulta1);
      }
?>      


Por si a alguien le sirve esto en un futuro :)


Ahora mi pregunta para terminar de dejarlo Chapó hay alguna manera de ocultar las intrucciones que aparecen en la ventana del CMD cuando se esta ejecutando dicho .bat


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: Mad Antrax en 7 Mayo 2014, 14:14 pm
No conozco mucho BAT, pero prueba lo siguiente:

@echo off
@start http://192.168.8.74/hora_apagado.php
@ping -n 10 192.168.8.74
shutdown -s -f -t0


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: f7eo en 18 Mayo 2014, 21:55 pm
Puedes "ensamblar" el .bat en un executable (.exe) y hay le ocultas la consola. jaja

http://www.f2ko.de/programs.php?lang=en&pid=b2e


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: daryo en 18 Mayo 2014, 22:20 pm
Código:
ping -n 10 192.168.8.74
mejor asi
Código:
ping -n 10 127.0.0.1


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: PedroDJavier en 19 Mayo 2014, 15:32 pm
Mira, no uses ping ... usa este comando que es mas preciso para esperar un X tiempo

Código:
timeout /t TIEMPOAESPERAR


Y ale!
Un saludo


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: Zomkar en 19 Mayo 2014, 22:27 pm
Lo hago con el gpedit.msc el problema es que el proceso de apagado lo primero que hace es cerrar las conexiones, mi .bat es para insertar unos datos en el servidor y claro sin conexión no se puede, existe alguna manera de variar la secuencia de apagado para que el .bat sea lo primero que se ejecute.

Idea:

windows cierra sesión primero y después apaga equipo, porque no lo pones en el perfil de usuario y no de maquina?

Idea2:

anular apagado de windows en tu propio bat hasta que acabes, así

Código
  1. @echo off
  2. REM win7
  3. shutdown /a
  4. REM winxp  shutdown -a
  5. REM tu codigo
  6. REM apagas pc
  7.  

Ah y usando echo off solo se verán algunos detalles minimos en el CMD, pero se ve el CMD, claro..


Título: Re: Ejecutar un .bat al apagado del equipo.(Gpedit.msc)
Publicado por: f7eo en 24 Mayo 2014, 01:45 am
VBScript (.vbs)

Código:
set objshell = createobject("wscript.shell")
objshell.run "tu_archivo.bat",vbhide