所在单位有3000台Windows终端需要定时关机,需求为每天凌晨两点自动关机,关机前有提示,可以手动取消。
因为终端操作系统覆盖了Win XP、Win 7、Win 10win定时关机,需要从系统兼容性上考虑关机方案。如果关机太突然或不方便取消,可能会妨碍工作人员的正常工作。
需要考虑的工作场景:
这个需求可以分解为关机操作和定时触发两步,分别考察windows自带的系统功能和第三方软件。
Windows系统提供的功能
定时关机操作
shutdown -s -t 3600
取消关机操作
shutdown -a
shutdown 命令参数说明:
C:UsersAdministrator>shutdown /?: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]显示帮助。这与键入 /? 是一样的。显示帮助。这与不键入任何选项是一样的。显示图形用户界面(GUI)。这必须是第一个选项。注销。这不能与 /m 或 /d 选项一起使用。关闭计算机。完全关闭并重启计算机。中止系统关闭。这只能在超时期间使用。/fw 结合使用,以清除任何未完成的至固件的引导。关闭本地计算机,没有超时或警告。/d 和 /f 选项一起使用。休眠本地计算机。选项一起使用。xxx 将关闭前的超时时间设置为 xxx 秒。0-315360000 (10 年),默认值为 30。0,则 /f 参数为参数。"comment" 注释重启或关闭的原因。512 个字符。强制关闭正在运行的应用程序而不事先警告用户。
shutdown 命令兼容所有 Windows 版本,不方便的地方是取消操作也需要在命令行中进行。对于不熟悉命令行的使用者来说不方便,可以把取消命令包装在bat脚本中,放置在桌面,方便双击运行。
定时执行可以在命令行或图形化的任务计划中指定定时计划。默认的 shutdown -s -t 60 是以倒计时进行定时,以秒为单位。如果时间跨度大win定时关机,此时需要使用定时程序来触发关机。
老版本的 Windows 可以使用 at 命令
at 2:00 shutdown -s -t 180 # 24小时制at # 显示任务at /delete # 删除任务
在Win10中,at 命令已经弃用创业项目,无法执行
改为 schtasks 调用关机程序
schtasks /Create /TN shutdown /TR "shutdown -s -t 60" /ST "02:00" /SC DAILY
查询定时任务
schtasks /Query /TN shutdown
删除定时任务
schtasks /Delete /tn shutdown
如果不喜欢命令行,可以在图形化工具中进行定制:taskschd.msc
在任务计划程序中定义一个计划任务
第三方程序在兼容性上不太好,但优点是可以做的很人性化。我推荐一个:
程序界面:
在快要关机时,会以不同颜色进行提醒,×掉即可取消关机,也可右键重置计时器,很适合个人使用,如果不是做成强制关机的话。
随着临近机关时间,颜色会越来越明显,还会闪烁进行提醒。
在项目Release 页面有编译好的二进制可供下载,只支持Win10,可能兼容Win7,不支持 Win XP。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。