XP、Windows7下自动关机vbs脚本,使用windows计划任务+vbs脚本在XP、Windows7下实现定时自动关机
VBScript(Microsoft Visual Basic Script Edition).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。开发人员通常简称VBS,俗称VBS脚本。
GoTO_Sleep_v2.vbs脚本,备注:能在XP、Windows7、Windows 2000 Professional操作系统下执行,服务器系统不运行。
'关机脚本
On Error Resume Next
Dim objShell,intReturn,mbFinished,moWindow
Set objShell = CreateObject("Wscript.Shell")
'Set moWindow = WScript.CreateObject("InternetExplorer.Application","IE_")
mbFinished = False Dim OSVersion
Dim OSCaption
Dim MachineType MachineType = TestMachineType() If MachineType = "Laptop" Then
'笔记本不执行该策略
WScript.Quit End If OSCaption=GetOSCaption()
If (InStr(OSCaption, "Windows XP") Or InStr(OSCaption, "Windows 2000 Professional") Or InStr(OSCaption,"Windows 7")) Then
Call Main() '操作系统版本为XP,才执行
Else
intReturn = objShell.Popup("服务器系统,不尝试关机,5秒后自动退出关机程序",5, "服务器系统不进入关机状态......")
WScript.Quit
'WScript.Echo "不是Windows XP系统!不修改电源管理方案"
End If '==================================主程序结束============================================= Sub Main()
Do
time1=time intReturn = objShell.Popup("系统即将在30分钟后进入关机状态,如需继续使用电脑,请点击【确定】",1805, "系统将在30分钟后进入关机状态......") time2=time
time3=DateDiff("s",time1,time2)
'if
If time3>1800 Then
Go_Sleep()
Exit do
Else
Set moWindow = WScript.CreateObject("InternetExplorer.Application","IE_")
Call Wait_Sleep()
End If Loop
End Sub '================主程序完成================ Sub Go_Sleep() Const Shutdown_Mod = 5 'Forced Shutdown (1 + 4)
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 WScript.Quit End Sub Sub Wait_Sleep()
dim i
mbFinished = False
i=0
'Const wshYes = 6
'Const wshNo = 7
'Const wshYesNoDialog = 4
'Const wshQuestionMark = 32 'intReturn = objShell.Popup("10分钟后进入关机状态,您是否需要取消今天的关机任务?点击【Yes】将取消关机", _
'600, "取消关机", wshYesNoDialog + wshQuestionMark) moWindow.Navigate "about:blank"
With moWindow.Document.ParentWindow.Document
.Write "<body scroll=no style='background-color:#d4d0c8;font-size:9pt'>10分钟后进入关机状态,您是否需要取消今天的关机任务?<br>点击【coding中,今天不关机了】将取消关机。还剩余<font id='str'>600</font>秒进入关机状态<br><br><div align='center'><input type='submit' value='coding中,今天不关机了' Width='10px' id='btnOK'/> <input type='button' value='1小时后再决定' class='cancel' id='btnCancel'/></div></body>"
.Title ="取消关机"
End With
moWindow.Document.Close With moWindow
.Toolbar = False
.Statusbar = False
.Menubar = False
.Resizable = False
.Width =500
.Height=130
.left= 350
.top= 350
Set .document.all.btnOK.onclick = GetRef("evtOK")
Set .document.all.btnCancel.onclick = GetRef("evtCancel")
.Visible = true
End With Do
WScript.Sleep 1000
i=i+1
if i<600 then
moWindow.Document.All.str.innerHTML = 600-i
If mbFinished Then Exit Do
else
Call Go_Sleep()
end if
Loop 'If intReturn = wshYes Then
'Wscript.Echo "You clicked the Yes button."
' WScript.Quit
'ElseIf intReturn = wshNo Then
'Wscript.Echo "You clicked the No button."等待30分钟后继续提示
' WScript.Sleep(1800000)
'Else
'WScript.Echo "The popup timed out."
' Call Go_Sleep()
'End If End Sub Sub evtOK
mbFinished = True
moWindow.Quit
Wscript.Quit
End Sub Sub evtCancel
mbFinished = True
moWindow.Visible = false
moWindow.Quit
'WScript.Sleep(5000)
WScript.Sleep(3600000)
End Sub Sub IE_onQuit
mbFinished = True
End Sub Function GetOSCaption() '返回计算机操作系统信息XP/Win2000/Win2003/Server等
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colOSes = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOS in colOSes
GetOSCaption=objOS.Caption '返回操作系统的版本信息
Next End function Function TestMachineType() '查询计算机类型:台式机,笔记本等.....
Dim DevType
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objChassis in colChassis
For Each strChassisType in objChassis.ChassisTypes
Select Case strChassisType
Case 3
DevType="Desktop"
Case 4
DevType="Desktop"
Case 6
DevType="Desktop"
Case 7
DevType="Desktop"
Case 8
DevType="Laptop"
Case 9
DevType="Laptop"
Case 10
DevType="Laptop"
Case 11
DevType="Laptop"
Case 12
DevType="Laptop"
Case 13
DevType="Laptop"
Case 14
DevType="Laptop"
Case Else
DevType="Other"
End Select
Next
Next
TestMachineType =DevType End Function
部署实施操作:
1.将GoTO_Sleep_v2.vbs脚本存放好,比如放在:C:\Windows\System32下
2.添加一个Windows计划任务,想要的效果是:周一周五每晚20:00自动执行此关机脚本
-打开Windows》操作中心》管理工具》计划任务,添加一个Windows计划任务
-添加一个触发器,设置什么时间触发执行,设置后效果比如:周一周五每晚20:00触发
-添加一个操作,设置读取我们要执行的脚本,设置后效果比如:C:\Windows\System32\GoTO_Sleep_v2.vbs
参考下设置完成效果图:
XP、Windows7下自动关机vbs脚本,使用windows计划任务+vbs脚本在XP、Windows7下实现定时自动关机的更多相关文章
- python脚本利用windows计划定时执行
- Linux 下四条高大命令(计划360检测脚本)
查看进程,按内存从大到小 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "% ...
- Windows系统使用vbs脚本或bat脚本强制杀死指定所有进程 vbs实现循环持续写入内容到vbs打开开的记事本 使用vbs、bat添加windows计划任务 使用cmd schtasks命令添加windows计划任务
以下脚本windows7下成功运行过,脚本也可以windows计划任务程序一起组合使用 新建一个记事本文档粘贴下面代码后将新建的记事本文档重命名下面对应的脚本名就能使用了: 添加windows计划任务 ...
- Windows 7 下快速挂载和分离VHD文件的小脚本
1.保存以下代码为VDM.vbs,放在Windows\system32下 Dim ArgsSet Args = WScript.ArgumentsTranArgs = " "For ...
- VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件
OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间.比如早上10点发一封11点后的延迟传递邮 ...
- Windows 客户端时间更新脚本NTP
Windows XP 客户端时间更新脚本NTP ::Windows XP 客户端时间更新脚本NTP reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...
- IIS 6.0 cmd iisapp -a C:\WINDOWS\system32\iisapp.vbs不存在
心血来潮看下iis cmd>iisapp -a "噔" 弹出 windows脚本宿主错误:无法找到脚本文件 C:\WINDOWS\system32\iisapp.vbs 晕 ...
- 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本
最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...
- linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)
需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...
随机推荐
- Maven hive-jdbc教程
由于项目中需要用到hive-jdbc从数据仓库拉数据下来,所以简单的学一下hive,hive数据仓库建构在hadoop集群之上,数据存在hdfs文件系统中,hive中执行的操作会装换成mapreduc ...
- Ubuntu 突然上不去网了怎么办
到家了也想看看程序.打开WIN8上的虚拟机VM,然后启动Ubuntu.................................... 像往常一样等待着界面,输入password,然后改动程序. ...
- OpenGL ES 3.0之Uniform详解
Uniform是变量类型的一种修饰符,是OpenGL ES 中被着色器中的常量值,使用存储各种着色器需要的数据,例如:转换矩阵.光照参数或者颜色. uniform 的空间被顶点着色器和片段着色器分享 ...
- 教育单元测试mock框架优化之路(上)
转载:https://sq.163yun.com/blog/article/169561874192850944 众所周知,mock对于单元测试,尤其是基于spring容器的单元测试,是非常重要的.它 ...
- MATLAB 制作GIF图像
前提要求:图像集保存在某个文件夹中,且每个图像以数字形式顺序命名,如001.jpg,002.jpg等. 代码1: 这个代码生成的效果有点问题,建议采用代码2. wm={'overwrite','app ...
- ECShop模板原理
模板的原理 类似Smarty/ECShop这类模板的原理如下图所示. 1.首先是编译模板ECShop/Smart是利用PHP引擎,所以编译的结果是一个PHP文件,其编译过程就是 将分隔符{}替换成PH ...
- 一道Javascript面试题引发的血案
文章首发于szhshp的第三边境研究所,转载请注明 先来看几道面试题,公司的开发们都尝试做了一下,然而基本没有人能够全部答对. 覆盖的考点很多,也有一些难度,题目挺有意思建议手动执行一边玩玩. Que ...
- jquery 文字滚动大全 scroll 支持文字或图片 单行滚动 多行滚动 带按钮控制滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android 之 沉浸式状态栏及顶部状态栏背景色设置
现在很多应用都引用了沉浸式状态栏,如QQ,效果下图: 效果很酷炫,其实设置也很简单.但是,需要注意的是,这种效果只能在API19以及以上版本中才能够做到. 方法一: 首先,如果想让界面Activity ...
- python object对象
动态语言的对象属性 既然都是动态语言,自然python和熟知的JavaScript很像,建一个空对象用来存放所有的数据,看看js: var data = {}; data.name = 'CooMar ...