Shutdown定时自动关机

Shutdown定时自动关机
今天有人问到如何实现定时自动关机,给出了用at和shutdown指令实现的方法,试了下还挺方便的。


1.先说下系统自带的关机指令,很多人应该已经知道了,就是shutdown,不带参数执行将会列出它的参数,常用参数用法:
shutdown [-i | -l | -s | -r | -a] [-f] [-m \computername] [-t xx] [-c "comment"] [-d up:xx:yy]
没有参数显示此消息(与?相同)
-i显示GUI界面,必须是shutdown的第一个选项
-l注销当前用户(不能与选项-m一起使用)
-s关闭此计算机
-r关闭并重启动此计算机
-a放弃系统关机
-m \计算机名 远程计算机关机/重启动/放弃
-t xx设置关闭的超时为xx秒,不加-t参数执行则默认倒计时30秒
-c "消息内容" 输入关机对话框注释(最大127个字符)
-f强制关闭运行的应用程序而没有警告
-d [u][p]:xx:yy 关闭原因代码
u是用户代码
p是一个计划的关闭代码
xx是一个主要原因代码(小于256的正整数)
yy是一个次要原因代码(小于65536的正整数)

一般需要立即关机可以这样写:(将-s参数换成/r参数就是立即重启)
shutdown -f -s -t 0
shutdown支持对远程计算机进行操作,需要使用-m参数,如:
shutdown -f -s -m \\\\test
在30秒后强制将局域网中名为test的计算机关闭


2.再说下at指令,它的作用是计划在指定时间和日期在计算机上运行命令和程序。在命令行下输入at /?将列出它的帮助信息,在“帮助和支持中心”里有更详细的解释及示例。
假设想实现晚上23:30自动关机,可以这么写:
at 23:30 shutdown -f -s -t 0
成功的话会有类似这样的信息回应:新加了一项作业,其作业 ID = 1


3.取消这个定时关机的话,有2种方法
(1)命令行
shutdown -a
(2)任务计划
用at指令设定的定时执行指令可在“控制面板”的“任务计划”中看到,要取消的话删除就行。


4.如果你只是临时用用,比如只是当天需要定时自动关机,用上述指令就行了。如果需要在一个月中的某几天或每周一甚至是每天执行,就需要再加点参数,仍然举例说明。
例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


5.应用举例:
(1)利用shutdown命令实现网络统一关机
步骤1单击“开始→运行”,在对话框中输入“Gpedit.msc”,单击[确定],打开“组策略编辑器”。
步骤2在“组策略编辑器”窗口的左边打开“计算机配置→Windows设置→安全设置→本地策略→用户权利指派”,在右边的窗口选择“从远端系统强制关机”。在弹出的对话框中显示目前只有“Administrators”组的成员才有权远程关机;单击对话框下方的[添加用户或组]按钮,然后在弹出的对话框中输入“UserName”(管理员账号),再单击[确定]。
步骤3这时在“从远端系统强制关机”的属性中便添加了一个“UserName”用户,单击[确定],最后关闭“组策略编辑器”窗口。
步骤4自己电脑进行上述操作后,给每台需要远程关机的计算机的“UserName”用户授予了远程关机的权限。
步骤5只要在自己的机器上进行以下操作:单击“开始→运行”,在对话框中输入“shutdown -I”,屏幕上将显示“远程关机”。

(2)shutdown.exe实现服务器定时重启
WindowsXP的关机是由shutdown.exe程序来控制的,位于Windows\System32文件夹中。如果想让Windows2000也实现同样的效果,可以把shutdown.exe复制到系统目录System32下。
首先当然要求主板必须支持软件关机功能,否则你还得亲自去按电源开关才能关机,现在的主板一般都支持软件关机。操作步骤:单击“开始”/程序/附件/系统工具中"计划任务",弹出计划任务窗口,然后双击"添加已计划的任务",运行“计划任务向导”,按“浏览”,找到WINDOWS目录中的Rundll32.exe文件,单击"打开"按钮,在出现的对话框中键入该任务的名字(如"定时关机"),执行方式选择“每天”,然后按“下一步”选择定时关机时间(可以先试一下比现在机器上显示的时间晚1分钟),下一步选中“当单击完成打开该任务的高级属性”,单击"完成",最后右击"定时关机"来打开属性,在运行栏输入“C:WINNT\system32\shutdown.exe -r -t 1”,单击"确定"不久,OK了。

你可能感兴趣的:(windows,dos,shutdown,自动关机,定时关机)