Windows远程关机和shutdown命令双保服务器重启

来源:互联网 发布:希特勒南极 知乎 编辑:程序博客网 时间:2024/04/19 19:05

我们在进行服务器远程维护时,经常需要进行远程关机、重启等操作,但是经常由于进程的异常退出导致服务器的出现假死现象,无法正常关机或重启,然后不得不得求助于机房人员协助硬重启,笔者在使用中,总结的经验是同时使用SHUTDOWN强制关机重启命令和开始菜单的关机重启命令,基本可以保障服务器快速重新启动起来,很少出过问题。

综合使用方法如下:

1、shutdown -r -f

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

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

shutdown命令的语法格式是:shutdown [-i/-l/-s/-r/-a][-f][-m[\\ComputerName]][-t XX][-c"message"][-d[u][p]:xx:yy]

各参数的含义为:

-i 显示图形界面对话框;

-l 注销当前用户(默认设置会注销当前用户);

-s 关闭计算机;

-r 关闭之后立即重新启动;

-a 终止关闭,除了-l和ComputerName外,系统将忽略其他参数。在超时期间,你只能使用-a;

-f 强制运行要关闭的应用程序;

-m [\\ComputerName]指定要关闭的计算机,不指定默认为本机;

-t XX将用于系统关闭的定时器设置为XX秒,默认是20秒;

-c "message"指定将在“系统关闭”窗口中的“消息”区域显示消息,最多可以使用127个字符;

-d [u][p]:xx:yy列出系统关闭的原因代码,为系统关机日志记录使用;

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

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

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

3、以对话框界面执行关机命令
只需要在上述关机命令中添加一个“-i”参数即可

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

补充:

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

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



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Windows XP操作系统默认的安全策略中,只有管理员组的用户才有权从远端关闭或者重启计算机,一般情况下从局域网内其他电脑访问该计算机时,都只有guest用户权限,所以当我们执行上述命令时,便会出现“拒绝访问”的情况。

  找到了问题的根源之后,解决的办法也很简单,您只要在客户计算机(能够被远程关闭的计算机,如上述的sunbird)中赋予guest用户远程关机的权限即可。这可利用Windows XP的“组策略”或“管理工具”中的“本地安全策略”来实现。下面以“组策略”为例进行介绍:

  远程关机

  1、单击“开始”按钮,选择“运行”,在对话框中输入“gpedit.msc”,然后单击“确定”,即可打开组策略编辑器。

  2、在“组策略”窗口的左侧窗格中逐级展开“计算机配置”→“Windows 设置”→“安全设置”→“本地策略”→“用户权利指派”。如图1所示。

Windows XP系统中实现远程关机和重启1

图 1

  3、在“组策略”窗口的右侧窗格中选择“从远端系统强制关机”,通过双击将其打开。如图2所示。

Windows XP系统中实现远程关机和重启2

图 2

  4、在弹出的对话框中显示目前只有“Administrators”组的成员才有权从远程关机;单击对话框下方的“添加用户或组”按钮,然后在新弹出的对话框中输入“guest”,再单击“确定”按扭。

  5、这时在“从远端系统强制关机”的属性中便添加了一个“guest”用户,单击“确定”即可。

  6、关闭“组策略”窗口。

  通过上述操作后,我们便给计算机sunbird的guest用户授予了远程关机的权限。以后,倘若您要远程关闭计算机sunbird,只要在网络中其他装有Windows XP的计算机中输入以下命令即可:

  shutdown -s –m \\sunbird -t 30 (其他参数用法同上)

  这时,在sunbird计算机的屏幕上将显示一个“系统关机”的对话框,提示“系统即将关机。请保存所有正在运行的工作,然后注销。未保存的改动将会丢失。关机是由sunbird\guest初始的。”在对话框下方还有一个计时器,显示离关机还有多少时间。在等待关机的时间里,用户还可以执行其他的任务,如关闭程序、打开文件等,但无法关闭该对话框,除非你用shutdown –a命令来中止关机任务。

  远程重启

  在Windows Xp中如果想实现远程重启,那么同样得用到“Shutdown”命令,打开远程协助,在远程桌面情况下输入

  Win+R -> 运行,输入“shutdown -r -t 0”,即可重启机器。