用VBS脚本重启/关闭计算机

出于很多管理限制,可能无法直接使用Windows的explorer shell,需要在命令行方式下对远程计算机进行操作。而命令行下所支持的命令远不能满足我们的需要,比如UNIX/Linux下的shutdown和reboot命令,除了Windows XP支持用shutdown命令重启、关闭或注销当前计算机之外,其他的Windows平台均未将类似功能作为基本命令。“Windows 管理规范”(WMI) 脚本系统(如 Windows 主机脚本)的 WMI 可以用来检索大多数计算机系统方面的配置详细信息(包括服务器应用),或者做出可以影响到系统的更改。其实WMI我们并不陌生,有几个管理工具就是启用WMI的,比如“系统属性”、“系统信息”和“服务”的“依存关系”组件。而WMI脚本系统,刚才说到是可以做出影响系统的更改,这篇文章就要讨论如何使用VBS脚本关闭和重启计算机。 

1.重启远程或者本地计算机 

  打开任意文本编辑器,(建议用UltraEdit,因为可以自动设置内容的醒目提示类型,关键字会加亮显示)键入以下内容: 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
  & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2") 
Set colOperatingSystems = objWMIService.ExecQuery _ 
  ("Select * from Win32_OperatingSystem") 
For Each objOperatingSystem in colOperatingSystems 
  ObjOperatingSystem.Reboot() 
Next 
另存为.VBS文件,比如reboot.vbs,放入systemroot\system32下(systemroot是指Windows的安装目录),在命令行输入reboot就会自动执行该脚本。之所以放在systemroot下是因为Windows默认设置的系统环境变量在此文件夹。需要说明的是strComputer这个变量:如果这个脚本要在远程计算机上执行,则变量内容"."修改成远程计算机名。例如我们要在LAN内机器名为Server的计算机上执行这个脚本,那么变量名相应修改成strComputer = "Server"。前提是已经取得Server上的相应权限。 

2.关闭本地计算机 

  XP的shutdown命令需要设置一些参数才能正确执行,远不如在命令行下执行VBS脚本方便。同样在文本编辑器中键入以下内容: 
Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem") 
For Each objOperatingSystem in colOperatingSystems 
  ObjOperatingSystem.Win32Shutdown(1) 
Next 
另存为.VBS文件,如果在XP下就不要存成和shutdown同名了。执行后能够快速关闭计算机。 

  提示:关于Windows脚本宿主的升级。如果当前使用的是 Windows 2000 或 Windows ME,则计算机系统中安装的是 2.0 版的 WSH。如果运行的是 Windows 95、98 或 Windows NT 4.0,则安装的是 1.0 版。若要升级到 WSH 5.6,请访问 Microsoft Windows 脚本技术 Web 站点,网址为:([url]http://www.microsoft.com/china/scripting[/url])。升级到最新版本以保证脚本能够正确执行。 





















本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/8548 ,如需转载请自行联系原作者


上一篇:利用阿里云-云监控对服务器端口进行监控


下一篇:那些你觉得堪称神兵利器的 Chrome 插件