入手了UPS就捉么着怎么实现停电后自动关闭NAS,在网上查了很多资料,最后总结加上自己的一点小智慧,最终实现了自己的NAS在停电后自动关机的功能。
对于不带USB口或者串口的UPS后备电源来说,断电后NAS自动关机只能通过检测路由器或其他网络设备来实现NAS的自动关机,从而来保护硬盘。就是为了在失去市电后通过UPS供电并自动关机来实现对硬盘的保护。
脚本通过计划任务周期性运行,在检查到外部网络设备停电关机后,Windows 触发网络电缆被拔出的硬件事件,捕捉到这个硬件事件后立即运行关机程序经过分析。
网卡断开连接时,Service Control Manager 会触发 7042 事件,让计划任务捕捉到这个事件后,运行 shutdown.exe /f /s 关机,需要特别注意的是运行shutdown.exe的帐号要有关机的权限,用SYSTEM帐号也可以,钩选“使用最高权限运行”。当然shutdown.exe也可以在加上参数 /c 进行一下相关提示,如我的就是 “/c "网络电缆被拔出,可能是因为电力故障,系统正在关机保护硬盘。"” 这样的提示语。成功后可以自己拔掉网线测试一下。
如果突然电力正常,也可以在默认的30秒内运行 shutdown /a 取消关机。具备一定的灵活性。
以下为设置的具体步骤:
一、从“开始”>“所有程序”>“附件”>“系统工具”>“计划任务程序”打开计划任务程序管理界面;
二、点击左侧的“计划任务程序库”,点击“操作”菜单,选择“创建任务”打开创建向导。
三、在“常规选项卡”的“名称”输入“断网自动关机”,单击“触发器”。
四、单击“新建”,“开始任务”选择“发生事件时”,“日志”选择为“系统”,“源”选择为“Service Control Manager”,“事件ID”输入“7042”。单击“确定”。
五、选择“操作”选项卡,单击“新建”。“操作”选择为“启动程序”,“程序或脚本”输入“shutdown -f -s”(注意两个横线前各有一个空格)。单击“确定”。
六、选择“条件”选项卡,取消“电源”下的所有复选框。
七、最后单击“确定”即可。
注意:如果你的电脑安装了电脑管家、360卫士等软件,可能会被软件禁用,在软件“优化”中将其加入白名单即可。