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下实现定时自动关机的更多相关文章

  1. python脚本利用windows计划定时执行

  2. Linux 下四条高大命令(计划360检测脚本)

    查看进程,按内存从大到小 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "% ...

  3. Windows系统使用vbs脚本或bat脚本强制杀死指定所有进程 vbs实现循环持续写入内容到vbs打开开的记事本 使用vbs、bat添加windows计划任务 使用cmd schtasks命令添加windows计划任务

    以下脚本windows7下成功运行过,脚本也可以windows计划任务程序一起组合使用 新建一个记事本文档粘贴下面代码后将新建的记事本文档重命名下面对应的脚本名就能使用了: 添加windows计划任务 ...

  4. Windows 7 下快速挂载和分离VHD文件的小脚本

    1.保存以下代码为VDM.vbs,放在Windows\system32下 Dim ArgsSet Args = WScript.ArgumentsTranArgs = " "For ...

  5. VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件

    OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间.比如早上10点发一封11点后的延迟传递邮 ...

  6. Windows 客户端时间更新脚本NTP

    Windows XP 客户端时间更新脚本NTP ::Windows XP 客户端时间更新脚本NTP reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...

  7. IIS 6.0 cmd iisapp -a C:\WINDOWS\system32\iisapp.vbs不存在

    心血来潮看下iis cmd>iisapp -a "噔" 弹出 windows脚本宿主错误:无法找到脚本文件 C:\WINDOWS\system32\iisapp.vbs 晕 ...

  8. 如何在windows计划中调用备份sharepoint2010网站集的powershell脚本

    最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性 查看: C:\Wind ...

  9. linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)

    需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...

随机推荐

  1. Pearson(皮尔逊)相关系数

    Pearson(皮尔逊)相关系数:也叫pearson积差相关系数.衡量两个连续变量之间的线性相关程度. 当两个变量都是正态连续变量,而且两者之间呈线性关系时,表现这两个变量之间相关程度用积差相关系数, ...

  2. THINKPHP 验证码不显示

    最近同事将我之前使用Thinkphp做的一个项目从香港服务器迁移到国内,但却遇到了图片验证码不显示的问题 但我确认了以下可能的问题后还是没有解决 PHP是否已经安装GD库支持: 输出之前是否有任何的输 ...

  3. window下配置Apache2服务器

    1:去Apache.org下载安装包 http://httpd.apache.org/ 2:解压到某一个目录 3:修改httpd.conf(Apache的解压目录和端口号) 4:管理员方式启动cmd执 ...

  4. Linux上传和下载之Xshell

    一.安装与授权 安装时候需要注意的是,选择 Free For Home/School选项进行安装,如下图所示安装成功后 二.上传 上传需要使用rz命令,如下图所示,第一次可能会提示你命令无效或者提示你 ...

  5. 使用phpqrcode生成二维码

    使用PHP语言生成二维码,还是挺有难度的,当然调用生成二维码图片的接口(比如:联图网http://www.liantu.com/的接口)除外,如果自己写代码生成,真的无从下手.然而,我们可以使用php ...

  6. border-color: transparent rgb(255, 48, 48) transparent transparent;

    border-color: transparent rgb(255, 48, 48) transparent transparent;

  7. 来自Vexels的超棒免费商业相关图标资源 #精选设计素材图标

    如果你也在寻找一些商务相关的图标的话,今天推荐的这套图标资源绝对是你梦寐以求滴 , 首先呢请预览一下效果吧~ 这套来自Vexels的图标包含了28张商务和商业相关的内容,包含了战略,市场,项目,付款等 ...

  8. 1418 This function has none of DETERMINISTIC,NO SQL,or R

    标签: [err]1418 函数创建报错 分类: 菜鸟DBA之MySQL --------------------------------------------------------------- ...

  9. hdu 3308 LCIS(线段树区间合并)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=3308 LCIS Time Limit: 6000/2000 MS (Java/Others)     ...

  10. linux 端口转发

    一 从一台机到另一台机端口转发 启用网卡转发功能#echo 1 > /proc/sys/net/ipv4/ip_forward 举例:从192.168.0.132:21521(新端口)访问192 ...