您的位置:首页 > 理论基础

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

2005-05-09 22:49 891 查看
出于很多管理限制,可能无法直接使用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 站点,网址为:(http://www.microsoft.com/china/scripting)。升级到最新版本以保证脚本能够正确执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: