<?php 
/** 
* 远程启动计算机 
* 注意:iis/apache需要有windows/system/cmd.exe执行权限 
**/ 
if (isset($_POST['cmd'])) { 
$cmd= stripslashes( $_POST['cmd'] ); 
exec( $cmd,$out); 
var_dump($out); 
echo '<br>'; 
var_dump($cmd); 
} else { 
?> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<form action="index.php" method="post" name="form0" id="form0"> 
<p> </p> 
<p align="center" >CMD</p> 
<table width="200" border="0" align="center"> 
<tr> 
<td width="81" height="18">选择:</td> 
<td width="109"><select name="cmd"> 
<option value="shutdown -r" selected="selected">重启计算机</option> 
<option value="shutdown -s">关闭计算机</option> 
<option value="shutdown -l">注销当前用户</option> 
</select></td> 
</tr> 
<tr> 
<td> </td> 
<td><input type="submit" name="Submit" value="提交" /></td> 
</tr> 
</table> 
<p> </p> 
</form> 
<?php 
} 
?>

Shutdown命令语法格式为:shutdown [-i |-l|-s |-r |-a] [-f] [-m [\\ComputerName]] [-t xx] [-c "message"] [-d[p]:xx:yy]。


“-i”显示图形界面的对话框。


“-l”注销当前用户,为默认设置。


“-s”关闭计算机。


“-r”关闭之后重新启动。


“-a”中止关闭。


“-f”强制运行要关闭的应用程序。


“-m [\\ComputerName] 指定要关闭的计算机。


“-t xx”将用于系统关闭的定时器设置为 xx 秒,默认值是 20 秒。


“-c "message"”指定将在“系统关闭”窗口中的“消息”区域显示的消息,最多可以使用 127 个字符,引号中必须包含消息。


“-d [p]:xx:yy”列出系统关闭的原因代码。


除了“-l”和“ComputerName”外,系统将忽略其他参数。在超时期间,只可以使用“-a”。


例如,关闭远程计算机输入“shut绫own -s -m \\work1 -t 60 ”,表示在60秒后关闭计算机名为work的机器,该机必须同样装有Win绫ows XP操作系统。而输入“shut绫own - s -t 30”则表示在30秒后自动关机。“shut绫own -l”表示注销本机用户,这对远程计算机不适用。使用“shut绫own -r”则重启本地计算机。“Shut绫own -a”就可以取消已经下达的关机命令。而要关闭本地计算机时,可以使用“shut绫own -s”。


PHP中system和exec可以执行关机命令,如果远程计算机的软硬件配置符合如下条件可以执行:赋予Guest用户远程关机的权限。远程用户连接到本地Win绫ows XP系统中时是以Guest身份连接的,而远程关机需要管理员权限,因此要先赋予Guest用户远程关机的权限。启动需要远程关机的电脑,在“运行”对话框中输入“gpe绫it.msc”,打开“组策略编辑器”。依次展开“计算机配置”→“Win绫ows 设置”→“安全设置”→“本地策略”→“用户权利指派”,在右侧窗口中找到“从远端系统强制关机”选项。双击该项目,在弹出对话框中单击“添加”按钮,然后在新对话框中输入用户名“guest”,最后点击“确定”。现在“从远端系统强制关机”的属性中就多出了“guest”用户,单击“确定”按钮退出。

<?php 

system('shutdown -s -m \\work1 -t 60'); 

?>