使用命令提示符(CMD)关闭/重新启动Windows
" Shutdown.exe"是内置的Windows命令行工具,可用于重新启动,关机,使计算机进入睡眠状态,休眠或者结束用户会话。在本指南中,很好地展示了在Windows中使用shutdown命令的基本示例。上面讨论的所有命令都在"运行"对话框中运行
Win+R
->,在命令提示符(cmd.exe)或者PowerShell中。
shutdown命令具有以下语法:
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
如我们所见,该命令具有很多选项,可用于关闭/重新启动本地或者远程计算机。
如何使用命令提示符关闭Windows?
要关闭Windows,请使用带有/ s键的shutdown命令。
shutdown /s
从CMD重新启动Windows
为了重新启动计算机,请使用/ r
参数。运行后,Windows将正常重启。
shutdown /r
结束用户会话
要结束当前用户会话(注销),请运行以下命令:
shutdown /l
该命令的工作方式与logoff.exe
命令相同。
如何休眠Windows?
要使计算机休眠,请运行以下命令:
shutdown /h
在休眠模式下,将整个内存内容写入本地磁盘上的hiberfil.sys文件,并使计算机进入睡眠模式,从而降低了能耗
如何在重新启动或者关闭之前通知已登录的用户?
我们可以通过向所有活动会话发送消息来通知所有已登录的Windows用户有关计算机或者服务器即将关闭/重新启动的信息。通常,此功能在RDS服务器上使用,有多个用户在自己的RDP会话中同时处理它们。
shutdown /r /c “This server will be restarted in 60 seconds.”
使用计时器延迟关闭/重新启动计算机
我们可以按一定的延迟(按计时器)关闭或者重新启动计算机。使用/ t
选项,我们可以指定关闭或者重新启动计算机/服务器的时间间隔。因此,我们可以为用户提供一些时间来保存打开的文件并正确关闭应用程序。将此选项与通知消息一起使用很方便。在此示例中,我们通知用户Windows将在10分钟(600秒)内关闭。
shutdown /s /t 600 /c "The server will be shutdown in 10 minutes. Save your work!"
用户将看到有关计划关闭的通知:
You’re about to be signed out
如果延迟太长,例如100分钟(6,000秒),则屏幕右下角会出现一个弹出窗口:我们即将退出。Windows将在100分钟内关闭。
取消Windows关闭或者重新启动
在运行Windows shutdown或者reboot命令之后,默认情况下,shutdown工具将等待60秒而不执行任何操作。在这段时间内,管理员可以通过运行以下命令来取消设备的重新启动或者关闭:
shutdown /a
取消关闭后,我们将在屏幕的右下角看到以下弹出窗口:注销已取消。计划的关机已被取消。
强制立即重新启动计算机
要立即关闭或者重新启动计算机而无需等待60秒,请指定" 0"作为/ t参数的值。例如,立即重新启动计算机:
shutdown /r /t 0
/ f键非常重要。我几乎总是在关闭或者重新启动Windows服务器时使用它。此属性会在没有用户确认的情况下强制关闭所有正在运行的程序和进程(我们永远不会等到用户确认关闭RDS服务器上的所有应用程序之后,因为我们再也无法获取它)。
下一条命令将重新启动计算机,并在重新启动后自动运行所有已注册的应用程序(此处表示使用RegisterApplicationRestart API在系统中注册的应用程序)。
shutdown /g
可以远程关闭或者重新启动Windows计算机?
如果可以访问远程计算机,则可以重新引导它,并且用于运行shutdown命令的帐户必须是该远程计算机(服务器)上本地管理员组的成员:
shutdown /r /t 120 /m \192.168.1.210
如果满足上述所有条件,但是在运行shutdown命令时出现错误Access Access(5),则可以通过更改LocalAccountTokenFilterPolicy参数的值来远程访问远程计算机上的管理共享(C $,ADMIN $)到1.
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f
如果需要远程重新启动多台计算机,则可以将计算机列表保存到文本文件中,并使用简单的PowerShell脚本对所有计算机进行远程重新启动:
$sh_msg = "Your computer will be automatically restarted in 10 minutes. Save your files and close running apps" $sh_delay = 600 seconds $computers = gc C:\PS\PC-list.txt foreach ($comp in $computers) { & 'C:\Windows\System32\SHUTDOWN.exe' "-m \\$comp -r -c $sh_msg -t $sh_delay" }
关机命令图形界面
那些不习惯在命令提示符下工作的人可以使用shutdown.exe命令的图形界面。要调用远程关闭对话框,请使用以下命令:
shutdown /i
如我们所见,我们可以在要重新启动/关闭的远程关闭对话框中添加多台计算机,指定通知文本并指定要保存在Windows事件日志中的关闭原因。
如何使用快捷方式重新启动计算机?
为了使用户更加方便,我们可以创建快捷方式来重新启动或者关闭台式机上具有所需设置的计算机。当我们需要从RDP会话中重新启动计算机且"开始"菜单中没有重新启动或者关闭计算机的选项时,该快捷方式可能很有用。
如果我们希望计算机或者服务器在特定时间重新启动/关闭,则可以将带有某些参数的关闭命令添加到Windows Task Scheduler(
taskschd.msc
)。
例如,此调度程序任务将每天在12 AM重新启动计算机。
或者,我们可以使用PowerShell创建新的Scheduler任务:
$Trigger= New-ScheduledTaskTrigger -At 00:00am -Daily $User= "NT AUTHORITY\SYSTEM" $Action= New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "f r t 120" Register-ScheduledTask -TaskName "RebootEvertyNight_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest Force