shutdown命令定时关机全攻略()
用系统自带指令实现Windows XP/2003 定时自动关机
今天有人问到如何实现定时自动关机,给出了用at和shutdown指令实现的方法,我自己常用的是PowerOff软件来实现,试了下at
指令,发现还是挺方便的。
先说下系统自带的关机指令,很多人应该已经知道了,就是shutdown,不带参数执行将会列出它的参数,常用参数为:
-s          关闭计算机
-r          关闭并重启动计算机
-f          强制正在运行的应用程序关闭而不事先警告用户
-t xxx    设置关闭前的超时为xxx 秒,默认为30
另外,在倒计时过程输入shutdown /a可以取消关机或重启,不加/t参数执行则
倒计时30秒。
一般需要立即关机可以这样写:(将/s参数换成/r参数就是立即重启)
shutdown -f -s -t 0
shutdown支持对远程计算机进行操作,需要使用-m参数,如:
shutdown -f -s -m \\\\test
在30秒后强制将局域网中名为test的计算机关闭
再说下at指令,它的作用是计划在指定时间和日期在计算机上运行命令和程序。在命令行下输入at /?将列出它的帮助信息,在“
帮助和支持中心”里有更详细的解释及示例。
假设想实现晚上23:30自动关机,可以这么写:
at 23:30 shutdown -f -s -t 0
成功的话会有类似这样的信息回应:新加了一项作业,其作业ID = 1
要取消这个定时关机的话,有两种方法
方法一、命令行
不带任何参数执行at,将会列出已经设定的内容,记下状态ID号,比如本例为1,然后输入:
at 1 /delete
也可以简写为:
at 1 /d
不加序列号使用/d参数将会删除所有设定的内容,如果想不经确认删除所有设定的内容,可用:at /d /y
方法二、任务计划
用at指令设定的定时执行指令可在“控制面板”的“任务计划”中看到,要取消的话删除就行了。
如果你只是临时用用,比如只是当天需要定时自动关机,用上述指令就行了。如果需要在一个月中的某几天或每周一甚至是每天执
行,就需要再加点参数,仍然举例说明。
例1、每月的1、5、10、15、20号的0点自动关机
at 00:00 /every:1,5,10,15,20 shutdown -f -s -t 0
例2:每周一的23:00自动关机
at 23:00 /every:Monday shutdown /f /s /t 0
例3:每天22:00自动关机
at 22:00
/every:Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday shutdown -f -s -t 0
即使用every参数,例3中的每天自动关机可以简写为:
at 22:00 /every:Su,M,T,W,Th,F,Sa shutdown -f -s -t 0
最后解释一下本贴标题为何要注明XP/2003,Windows 2000是不自带shutdown指令的(当然从XP/2003系统里复制一个过去也能
用),我的机器上也没装Windows 2000,不知道在2000里是否自带at指令。
另,用at指令而不是在任务计划里添加是因为用at指令添加的任务是以系统最高的SYSTEM权限来执行的,不登录也会生效,而在
任务计划里添加的任务需要指定管理员帐号密码才能做到不登录也生效,at指令
还能用\\\\computername指定在局域网里的其它
计算机上建立自动执行的任务计划,当然前提条件是你有对方机器的管理员帐号和密码。
补充二点:
1、用以上命令,并命令执行时,系统进入关机倒计时。这时,如果正在工作,
不需要关机,那马上在倒计时设置时间内运行
“ -a”中止关机命令。也可以建立一个这个命令的快捷方式在桌面上,方便使用。
2、拷贝到2000系统下AT命令完全可以使用,包括
Win2000、Win2000Server。
用at配合shutdown命令非常方便。
比如要在晚上22:00关机,可以使用at 22:00 shutdown -s -f
附ShutDown用法及参数
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \computername] [-t xx] [-c 'comment'] [-d up:xx:yy]
没有参数显示此消息(与? 相同)
-i 显示GUI 界面,必须是第一个选项
-l 注销(不能与选项-m 一起使用)
-s 关闭此计算机
-r 关闭并重启动此计算机
-a 放弃系统关机
-m \computername 远程计算机关机/重启动/放弃
-t xx 设置关闭的超时为xx 秒
-
c 'comment' 关闭注释(最大127 个字符)
-f 强制运行的应用程序关闭而没有警告
-d [p]:xx:yy 关闭原因代码
u 是用户代码
p 是一个计划的关闭代码
xx 是一个主要原因代码(小于256 的正整数)
yy 是一个次要原因代码(小于65536 的正整数)
-f:强行关闭应用程序
-m \计算机名:控制远程计算机
-i:显示图形用户界面,但必须是Shutdown的第一个选项
-l:注销当前用户
-
r:关机并重启
-t时间:设置关机倒计时
-c '消息内容':输入关机对话框中的消息内容(不能超127个字符
2、举例:
关闭计算机shutdown –s (方法:”开始”->”运行”->”shutdown -s”->”确定”)
延迟3秒关闭计算机shutdown –s –t 3(方法:”开始”->”运行”->”shutdown –s –
t 3”->”确定”)
取消关闭计算机shutdown –a (方法:”开始”->”运行”->”shutdown –a”->”确定”)
3、应用:
(1)您如果想在1小时后自动关闭计算机,比如:您正在下载一个软件或一部电影,而您有急事要去丽水,您会怎么办?停止下载
太可惜了!继续下载完后电脑怎么关闭不用愁!您可以使用该命令解决:shutdown –s –t 3600 (系统在3600秒后关闭计算机,时间自定)
您就放心地去丽水了,而不用担心您的计算机长期开着了。
(2)出现RPC漏洞而导致倒计时自动关机,使用该命令取消倒计时自动关机:
shutdown –a (方法:”开始”->”运行”->”shutdown –a”->”确定”)
前一段时间的网络病毒非常猖獗,如震荡波、冲击波等就是针对WindowsXP的RPC(远程过程调用)漏洞设计的,它导致系统倒计时
自动关机,很多同学、老师头痛不已。如下图:
(3)利用Shutdown命令实现网络统一关机
笔者所在单位下班后常有很多老师不关电脑,领导发现后要求解决这个问题。我想如果到各办公室去查看,这很费时,于是就想能
否通过一台电脑把所有的机器都关掉。因为所有的办公用机安装的都是Windows XP系统,就想到了使用远程关机“Shutdown”
命令。具体方法如下:
步骤1 单击“开始→运行”,在对话框中输入“Gpedit.msc”,单击[确定],打开“组
策略编辑器”。
步骤2 在“组策略编辑器”窗口的左边打开“计算机配置→Windows设置→安全设
置→本地策略→用户权利指派”,在右边的窗口
选择“从远端系统强制关机”。在弹出的对话框中显示目前只有“Administrators”组的成员才有权远程关机;单击对话框下
方的[添加用户或组]按钮,然后在弹出的对话框中输入“Heyongsheng”(管理员账号),再单击[确定]。
步骤3 这时在“从远端系统强制关机”的属性中便添加了一个“Heyongsheng”用户,单击[确定],最后关闭“组策略编辑器”
关机程序代码窗口。
对各办公室的电脑进行上述操作后,我们便给每台计算机的“Heyongsheng”用户授予了远程关机的权限。
到下班时,我只要在自
己的机器上进行以下操作:
步骤4单击“开始→运行”,在对话框中输入“Shutdown -I”,屏幕上将显示“远程关机”对话框(图1)。
图1 远程关机控制窗口
(4)用XP的实现服务器定时重启
Windows XP的关机是由程序来控制的,位于
WindowsSystem32文件夹中。如果想让Windows 2000也实现同样的效
果,可以把复制到系统目录System32下。
首先当然要求主板必须支持软件关机功能,否则你还得亲自去按电源开关才能
关机,现在的主板一般都支持软件关机。操作步骤

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。