使用shutdown命令实现远程关机和重启

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1271
收藏 0 赞 0 分享

在进行远程连接的时候,经常要远程关机,远程重启.在进行服务器远程维护时,经常需要进行远程关机、重启等电脑基础操作,使用SHUTDOWN强制关机重启命令和开始菜单的关机重启命令,基本可以保障远程电脑快速重新启动起来,很少出过问题。

windows下shutdown命令的语法格式是:

用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f][/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

各参数的含义为

/? 显示帮助。这与不键入任何选项是一样的。
/i 显示图形用户界面(GUI)。
这必须是第一个选项。
/l 注销。这不能与 /m 或 /d 选项一起使用。
/s 关闭计算机。
/r 关闭并重新启动计算机。
/g 关闭并重新启动计算机。系统重新启动后,
重新启动所有注册的应用程序。
/a 中止系统关闭。
这只能在超时期间使用。
/p 关闭本地计算机,没有超时或警告。
可以与 /d 和 /f 选项一起使用。
/h 休眠本地计算机。
可以与 /f 选项一起使用。
/e 记录计算机意外关闭的原因。
/m \\computer 指定目标计算机。
/t xxx 设置关闭前的超时为 xxx 秒。
有效范围是 0-315360000 (10 年),默认值为 30。
如果超时时间大于 0,则默示 /f
参数。
/c "comment" 重启动或关闭的原因的注释。
最多允许 512 个字符。
/f 强制正在运行的应用程序关闭,不前台警告用户。
当为 /t 参数指定大于 0 的值时,
则默示 /f 参数。
/d [p|u:]xx:yy 提供重新启动或关机的原因。
p 表明重新启动或关闭是计划内的。
u 表示原因由用户定义。
如果 p 和 u 均未指定,则是计划外重新启动
或关闭。
xx 是主要原因号(小于 256 的正整数)。
yy 是次要原因号(小于 65536 的正整数)。

使用方法如下

1、shutdown /r /f /t 0 

2、开始菜单-关闭计算机-重新启动

两条命令同时运行,当然之前最好把一些重要的服务停止掉,比如数据库等防止丢失数据。第一条shutdown命令执行后会有个延迟,可以保证把未退出的程序咔嚓掉,如果单纯使用开始菜单的重启命令进行远程重启,出现服务器无法正常关机的概率是相当大的,可以说是非常的不可靠,反而shutdown命令要更加可靠一些,但还是为了完全,笔者每次都是两条命令同时用,虽然麻烦一点但总比去找机房人员协助要方便点,毕竟服务器也不是经常重启。

shutdown命令使用实例:

1、shutdown /r /f /t 0

该命令为要求计算机马上强制关闭任何应用程序,并重新启动计算机。如果不需要重启,则只需要把/r改为/s即可,如果需要延迟一段时间只需要加上/t XXX,加上时间延迟相当于预设置命令,在系统某些任务暂未运行完毕的情况下很有用,比如下载完成,程序运行等。

2、关闭远程计算机

使用参数-m[\ComputerName]可指定将要关闭或重启的远程计算机名称(不设置或为空则默认对本机操作)

shutdown /s /m /remotewin /t 45

上述命令为在45秒内关闭局域网内计算机名为remotewin的计算机,如果返回“ACCESS IS DENIDED”的提示,说明您没有权限关闭远程计算机。需要设置WINDOWS的安全策略或被授权远程关闭计算机。

3、以对话框界面执行关机命令

只需要在上述关机命令中添加一个“/i”参数即可

4、取消关机命令

执行上述的关机命令后,如感到后悔并想赶紧取消关机,请马上输入命令:shutdown /a,即可立即取消上述有关关机操作,当然前提关机命令设置的关机时间仍未到,如果计算机进入关机状态或原设置的关机命令是立即关机则已无力回天,取消关机是无法生效的。

为了方便大家可以将命令保存为bat文件,方便强制执行

@ECHO OFF
REM 重启
shutdown /r /f /t 0
PAUSE

想要重启的话,直接双击就好了。

补充

1、在我们设置重启之后,大家自己可以总结自己远程计算机的实际重启时间,直到可以远程登录,对于维护服务器时间紧迫性很重要,一般是3-4分钟,这个时间会受到“自检”、“启动运行软件比如GHOST等”、“启动菜单延迟等待,比如双启系统或一键还原的默认的等待时间”等影响,如果超过自己预感的时间限制,比如半个小时等,那计算机也太有点不够意思了,只能寻求机房人员协助摆平了。

2、SHUTDOWN远程关机是需要权限的,在gpedit.msc组策略编辑器打开“计算机配置——Windows设置——安全设置——本地策略——用户权利指派”,在右边的窗口选择“从远端系统强制关机”进行设置或权限指派。

更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多