摘要:科室电脑老不重启,软件更新不生效、共享打印机罢工、越用越卡。一台台去设太麻烦,我用 Windows 自带的计划任务写了个批处理脚本:内网群发出去,让每台电脑双击运行一次,就设好每天定时重启,重启前还留 1~3 分钟倒计时提醒保存资料。附完整脚本与踩坑说明。
上篇给各位亲爱的读者朋友分享了,在不能重启的情况下处理服务器以及终端电脑的一些问题,这篇就给各位读者朋友分享一下,从来不想重启的电脑,我怎么让他必须重启!
不管生活还是工作中,我们常常会遇到一些很奇妙的事情,就比如现在咱们要说的,一般都是系统终端运行稳定,不报错,不重启,但有时候太稳定了也是问题。
医院软件会根据相关单位要求,经常是修改添加或是减少某些功能,程序修改好,通常都是上线到服务器上的,本地的终端是需要关闭现在正在使用的软件,重新登录时,软件检查到服务器版本有更新,才会下载更新。医院运维的朋友应该都明白,科室大部分电脑都比较老旧,重启一次需要很长时间,所以一般没有哪位医生愿意重启,这就导致了,已经添加的功能,终端电脑软件界面上还是没有,或是已经删除的功能,终端电脑软件界面上还有,就会出现,软件在使用中出现各种报错,运维人员去一看,呃,就是把软件退了,重新打开软件,自动更新后,再进到软件里面操作,所有功能就都正常了,报错也就不再出现;
另一种情况就是共享打印机,医院大部分使用共享打印机的还是比较多,不管是医生办公室还是住院病区护士站等,常见的就是至少两台终端使用一台打印机。经常遇到打印机打印不了,大部分都是因为win系统自身问题,打印服务出问题了,重启服务一般就能正常使用。但医生科室或是护士站都不会弄,最简单的办法就是把两台电脑都重新启动一下,打印机就又能恢复正常,不用运维人员专门再跑一趟;
还有就是电脑长时间不重启,win系统自身产生的临时文件、缓存文件等都会导致终端电脑越用越卡,重新重启释放一下,就能好一些;

但,有些科室就是不愿意重新启动电脑,没办法,就得上点强度!
之前科主任问我需要安装什么定时软件,要求电脑指定时间必须重启一次。我一听,哪需要这么麻烦,win系统不是有现成的功能吗?使用系统自带的计划任务,加一条重启命令,参数里加上延迟1到3分钟,时间一到,就会自动重启,留出的一到三分钟,足够医生保存未保存的病历、文书等操作。
但一台一台电脑去设置,也是比较麻烦的。后来我就给写了一个脚本,使用内网通群发给所有电脑,让使用电脑的各位同事,双击运行一下,一次就搞定所有电脑的重启问题。

是不是感觉很简单?是的,运维工作中除了让人抓狂的问题外,经常遇到的就是这么简单的问题,但没有这个思路,就会花不少功夫……
下面把完整脚本直接贴出来,复制就能用——双击运行一次,这台电脑以后每天到点自动重启,重启前会留 1~3 分钟倒计时提醒保存资料:
@echo off
chcp 936 >nul
title 一键设置 – 每天定时重启
:: ===================================================================
:: 每天定时重启 · 一键设置
::
:: 双击运行一次,这台电脑以后就会在指定时间自动重启。
:: 重启前会留出一段时间,屏幕右下角会有倒计时提醒,
:: 够把正在处理的资料保存一下。
::
:: 要改时间,就改下面这两行(时间是 24 小时制):
set REBOOT_TIME=23:00
set DELAY_SECONDS=180
::
:: 要取消,在「任务计划程序」里把「每日定时重启」这个任务删掉就行。
:: ===================================================================
set TASK_NAME=每日定时重启
set REBOOT_CMD=shutdown /r /t %DELAY_SECONDS%
:: 建计划任务要管理员权限,没有就先申请
net session >nul 2>&1
if %errorlevel% NEQ 0 goto ELEVATE
cls
echo.
echo ================================================
echo 每天定时重启 · 一键设置
echo ================================================
echo.
echo 任务名称:%TASK_NAME%
echo 重启时间:每天 %REBOOT_TIME%
echo 重启前留:%DELAY_SECONDS% 秒(够保存资料)
echo.
echo 正在设置,请稍等……
echo.
:: 建一个每天到点执行的计划任务
schtasks /create /tn "%TASK_NAME%" ^
/tr "%REBOOT_CMD%" ^
/sc daily /st %REBOOT_TIME% ^
/rl HIGHEST /f >nul 2>&1
if errorlevel 1 goto FAILED
echo [成功] 已经设置好了!
goto DONE
:FAILED
echo [失败] 没能建成功。
echo 请右键这个文件,选「以管理员身份运行」再试一次。
:DONE
echo.
echo ————————————————
echo 以后每天 %REBOOT_TIME%,这台电脑会自动重启;
echo 重启前 %DELAY_SECONDS% 秒,屏幕右下角会有倒计时提醒,
echo 请把正在处理的资料保存一下。
echo ————————————————
echo.
echo 按任意键关闭本窗口……
pause >nul
exit /b
:ELEVATE
echo.
echo 正在申请管理员权限,请在弹窗里点「是」……
echo.
powershell -NoProfile -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
exit /b
踩坑提醒:第一次双击如果提示失败,右键这个文件选「以管理员身份运行」再试——建计划任务必须管理员权限,脚本会自动申请提权。
要改重启时间,就改脚本里 set REBOOT_TIME=23:00 那一行(24 小时制)即可。
作者:老刘说医信,医院信息科运维。
网硕互联帮助中心



评论前必须登录!
注册