用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 ,如需转载请自行联系原作者


相关文章
|
Windows
电脑win系统开机自动运行批处理、脚本等的方法/开机自动执行bat脚本
电脑win系统开机自动运行批处理、脚本等的方法/开机自动执行bat脚本
905 0
|
3月前
|
C++ 开发者
如何使生成的exe程序默认以管理员权限启动
如何使生成的exe程序默认以管理员权限启动
37 0
|
4月前
|
Shell Linux
shell自动关机/重启计划
shell自动关机/重启计划
38 1
|
8月前
|
Linux Shell 网络安全
如何从命令行关闭或重启远程 Linux 主机?
如何从命令行关闭或重启远程 Linux 主机?
173 0
如何从命令行关闭或重启远程 Linux 主机?
|
Shell
shell脚本控制程序启动停止重启
shell脚本控制程序启动停止重启
236 0
|
Windows
PowerShell添加或修改注册表开机启动项脚本
代码如下: $name = Read-Host "请输入开机启动项的名字(随便起)" $value = Read-Host "请输入开机启动项的值" try{ New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name $name -PropertyType String -Value $value -ErrorAction Stop $tip = "成功添加开机启动项"+$name+"。
2180 0
|
数据安全/隐私保护 Windows
批处理+VBS+注册表实现开机自动启动EXE程序
原文:批处理+VBS+注册表实现开机自动启动EXE程序 批处理+VBS+注册表实现WINDOWS开机自动启动EXE程序 以下都是基于WINDOWS系统。 我们都知道当我们有想某个程序在开机时自动运行,只能有三个方式: 1、做成服务,然后对服务进行配置为自动启动(可以实现不进行用户登录完成); 2、做成驱动程序,随系统启动(可以实现不进行用户登录完成); 3、做成EXE程序,添加到开机启动项(必须得在用户登录情况下完成)。
1428 0
|
网络协议 数据安全/隐私保护

相关课程

更多