Ver Mensaje Individual
  #18 (permalink)  
Antiguo 22/07/2008, 01:07
cobrador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 2
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Respuesta: apaga windows con asp.

Hola a todos, aunque llevo mucho tiempo visitando el foro he tenido pocas ocasiones en las que escribir. Vereis, os planteo el tema y a ver si alguien puede echarme una mano:

Trabajo en una empresa donde tenemos varios servidores linux que trabajan a la perfección con php y un windows xp que trabaja con asp.

Los programadores han desarrollado en script en php que a través de un formulario con contraseña (así evitamos que se apague por error) permite apagar el servidor linux remotamente accediendo a la web de ese servidor internamente por la red local (por ejemplo http://192.168.1.80/apagar).

El código (por si a alguien le sirve) seria este:

Código:
// SISTEMA: linux (ubuntu/debian)
// NOMBRE DEL ARCHIVO: index.php
// CODIGO:

<table border="0" width="650" align="center" cellspacing="0" cellpadding="0">
<tr>
<td>
<h1 align="center">Servidor de Linux</h1>
<fieldset>
<legend style="color: #0000FF">http://192.168.1.XX</legend>
<form method="POST" action="index.php">
<p align="center">Contrase&ntilde;a: <input type="password" name="pass" size="20"></p>
<p align="center"><input type="submit" value="APAGAR SERVIDOR" name="servidor"></p>
<p>&nbsp;&nbsp;Contacte con el administrador del sistema para solicitar la contrase&ntilde;a</p>
</form>
</fieldset>
</td>
</tr>
</table>
<?php
if($_POST)
{
if($_POST['pass']=='apagar'){
echo `sudo halt`;
echo "<center>Apagando el servidor...</center>";
}else
echo "<center>La contrase&ntilde;a \"".$_POST['pass']."\" no es correcta</center>";
}
?>
Sobre este código, hicimos esta modificación para adaptarlo a un servidor windows:

Código:
// SISTEMA: windows xp
// NOMBRE DEL ARCHIVO: index.php
// CODIGO:

<table border="0" width="650" align="center" cellspacing="0" cellpadding="0">
<tr>
<td>
<h1 align="center">Servidor de Windows</h1>
<fieldset>
<legend style="color: #0000FF">http://192.168.1.XX</legend>
<form method="POST" action="index.php">
<p align="center">Contrase&ntilde;a: <input type="password" name="pass" size="20"></p>
<p align="center"><input type="submit" value="APAGAR SERVIDOR" name="servidor"></p>
<p>&nbsp;&nbsp;Contacte con el administrador del sistema para solicitar la contrase&ntilde;a</p>
</form>
</fieldset>
</td>
</tr>
</table>
<?php
if($_POST)
{
if($_POST['pass']=='apagar'){
exec('%systemroot%\system32\shutdown.exe -s -t 0');
echo "<center>Apagando el servidor...</center>";
}else
echo "<center>La contrase&ntilde;a \"".$_POST['pass']."\" no es correcta</center>";
}
?>
El problema radica en que los programadores con los que trabajo no saben nada de asp (ni tienen intención de aprender por lo que veo) y necesito este mismo script pero en el servidor asp (o sea poder apagar el xp desde un formulario con contraseña). Si alguien pudiera echarme una mano seria estupendo.

No obstante, seguiré investigando en google por si doy con algo que me sirva. Si encuentro algo ya os comento.

Gracias ante todo por las sugerencias. Un saludo.