用计划任务实现自动关机本来很简单,一个shutdown -s -t xxx命令,再设置个计划任务(如每天10点自动关机),就搞定了。但是,这里有个问题,这个命令只能在管理员权限下运行,普通用户运行会出错。于是我找了一个vbs脚本来实现关机的功能,可以解决权限的问题,普通用户也可以使用计划关机的功能了。脚本如下:

Const Shutdown_Mod = 5
Set objNet = WScript.CreateObject( "WScript.Network" )
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate," & _
"(Shutdown)}!\\" & objNet.ComputerName & "\root\cimv2") '获得对象
Set colOSes = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")
For Each objOS In colOSes '只可能有一个 objOS 在colOSes集合中
intReturn = objOS.Win32Shutdown(Shutdown_Mod)
If intReturn <> 0 Then
msgbox "操作失败"
End If
Next

'本代码来自: http://hi.baidu.com/zhaoshuhang/blog/item/d35eaf345a4fb3b7d0a2d383.html

将上述代码保存为shutdown.vbs,然后在控制面板的计划任务中添加任务,设置好执行时间、重复次数等参数就可以了。Windows Xp sp3下测试通过。


转载请注明:作者:Kderhttp://www.kder.info/]  ,并以链接形式标明原文出处:http://www.kder.info/vbs-for-scheduled-shutdown.html

您也许想再看看这些: