注册 登录
编程论坛 ASP技术论坛

ASP如何实现重启win2003服务器

bluebojue 发布于 2009-10-17 15:40, 554 次点击
大家好,我想实现一个功能:ASP重启服务器,在网上找了资料,按照上面做了,经过测试,在XP系统下可以实现重启,但服务器为2003的情况下却不可以,这是什么原因呢?
谢谢大家了。
资料如下:

    大家知道直接使用ASP是不能够重启服务器的,这时我们需要制作一个组件来实现功能,ASP通过这个组件调用系统API,然后按照不同的重启和关机方式进行操作!

  下面先说COM的制作,在VB中新建一工程,当然是AceiveX dll的!

  1)先修改工程属性,在工程属性窗口将工程名称改为system,在类模块窗口将模块名称改为contral,保存工程;

  2)然后添加一个模块,用来声明需要使用的API和常数!下面是模块中的内容!

  Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

  3)在类模块中输入下列代码:

  Public Function reboot(atype As Variant)
   t& = ExitWindowsEx(1, atype)
   End Function

  该函数需要传入一个参数,用来控制启动方式,这个参数是从ASP程序中传入的,等一下就可以看到具体的使用方法!

  编写完上面的代码,保存工程,将工程编译为system.dll。下面就写ASP程序!

  ASP中的代码非常简单:

  <%
   atype=request("atype")
   set sys=server.CreateObject ( "system.contral")
   sys.reboot(atype)
   % >

  其中atype可以使用0、1、2、4,0、1和4均为关机,2用来重启。写完后执行ASP就可以了!
3 回复
#2
外部三电铃2009-10-17 15:48
重要的是ASP站点的用户权限要为administrator权限才可以
你在XP下面是自己调试,当然可以给站点admin权限,服务器做了安全处理,ASP的权限被限制了,如果不限制的话别说重启,连删除整个操作系统不在话下。
你想想哪个管理员敢给ASP站点这么多权限吗
#3
bluebojue2009-10-17 16:12
回复 2楼 外部三电铃
十分感谢,谢谢
#4
hmhz2009-10-17 17:32
极度危险
1