Eteindre les pc du reseau en php...

Petit nouveau ! | 1 Messages

07 avr. 2010, 14:56

Voici un petit code à améliorer qui permet de faire des shutdown, taskkill et autre...
<?php

//phpinfo();

// NOM DES ORDINATEUR SUR LE RESEAU
$dev16 = array("\\\\PC1,\\\\PC2,\\\\PC3"); // .. ect
                  
if(isset($_POST['on']))
{
   for($i=0;$i<=15;$i++)
   { 
     $cmd = "shutdown /r /m $dev16[$i] /t 60 && exit"; 
     echo $cmd.'<br />';
     //$cmd = "taskkill /s $dev16[$i] /f /im firefox.exe && exit"; 
     //$cmd3 = "start \\\Tests-a04014cb7\\testtre\\index.html"; 
     //$cmd2 = "start http://www.google.fr";
     //sleep(1);
     exec($cmd, $exec_output, $exec_retval);
     echo 'L\'ordinateur redemarre!!! <br />';
   } 
} 
  
if(isset($_POST['onf']))
{
   for($i=0;$i<=15;$i++)
   { 
    //$cmd = "shutdown /r /m $dev16[$i] /t 60 && exit"; 
    $cmd = "taskkill /s $dev16[$i] /f /im firefox.exe && exit"; 
    //$cmd3 = "start \\\Tests-a04014cb7\\testtre\\index.html"; 
    //$cmd2 = "start http://www.google.fr";
    //sleep(1);
    exec($cmd, $exec_output, $exec_retval);  
   }
   echo 'firefox.exe redemarre!!! <br />'; 
} 

if(isset($_POST['ons']))
{
   for($i=0;$i<=18;$i++)
   { 
    //$cmd = "shutdown /r /m $dev16[$i] /t 60 && exit"; 
    $cmd = "taskkill /s $dev16[$i] /f /im service.exe && exit"; 
    //$cmd3 = "start \\\Tests-a04014cb7\\testtre\\index.html"; 
    //$cmd2 = "start http://www.google.fr";
    //sleep(1);
    exec($cmd, $exec_output, $exec_retval);  
   }
   echo 'service.exe redemarre!!! <br />'; 
}

if(isset($_POST['ona']))
{
   for($i=0;$i<=15;$i++)
   { 
    //$cmd = "shutdown /r /m $dev16[$i] /t 60 && exit"; 
    $cmd = "taskkill /s $dev16[$i] /f /im explorer.exe && exit"; 
    //$cmd3 = "start \\\Tests-a04014cb7\\testtre\\index.html"; 
    //$cmd2 = "start http://www.google.fr";
    //sleep(1);
    exec($cmd, $exec_output, $exec_retval);  
   }
   echo 'explorer.exe redemarre!!! <br />'; 
}

if(isset($_POST['ono']))
{
   for($i=0;$i<=15;$i++)
   { 
    //$cmd = "shutdown /r /m $dev16[$i] /t 60 && exit"; 
    $cmd = "taskkill /s $dev16[$i] /f /im svchost.exe && exit"; 
    //$cmd3 = "start \\\Tests-a04014cb7\\testtre\\index.html"; 
    //$cmd2 = "start http://www.google.fr";
    //sleep(1);
    exec($cmd, $exec_output, $exec_retval);  
   }
   echo 'svchost.exe redemarre!!! <br />'; 
}
	
?>
<form method="post" action="./moon.php">
 <input type="hidden" name="on" value="start">
 <input type="submit" name="start" value="start">
</form>
<br />

<form method="post" action="./moon.php">
 <input type="hidden" name="stopfox" value="stopfox">
 <input type="submit" name="onf" value="STOP FOX">
</form>
<br />

<form method="post" action="./moon.php">
 <input type="hidden" name="stops" value="stops">
 <input type="submit" name="ons" value="STOP SERV">
</form>
<br />

<form method="post" action="./moon.php">
 <input type="hidden" name="stops" value="stops">
 <input type="submit" name="one" value="STOP EXP">
</form>
<br />

<form method="post" action="./moon.php">
 <input type="hidden" name="stops" value="stops">
 <input type="submit" name="ono" value="STOP SVCHOST">
</form>
<br />

<?php
  //phpinfo();
  if(isset($_POST['off']))
  {
   for($i=0;$i<=18;$i++)
   {
    $cmd = "shutdown /a /m $dev16[$i] && exit";

    exec($cmd, $exec_output, $exec_retval);
    echo 'C\'est annulé!!!';
   }
  } 
	
?>

<form method="post"  action="./moon.php">
 <input type="hidden" name="off" value="start">
 <input type="submit" name="stop" value="stop">
</form>




Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 avr. 2010, 17:08

Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 74 Messages

22 avr. 2010, 19:13

$dev16 devrait pouvoir être rempli dynamiquement!

Je pense qu'il y a moyen de récuperer les noms des machines du réseau dans lequel on se trouve... :mrgreen: