天天看點

用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") 

  ObjOperatingSystem.Win32Shutdown(1) 

另存為.VBS檔案,如果在XP下就不要存成和shutdown同名了。執行後能夠快速關閉計算機。 

本文轉自loveme2351CTO部落格,原文連結:http://blog.51cto.com/loveme23/8548 ,如需轉載請自行聯系原作者

繼續閱讀