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 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
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") |