监控电脑开关机,需要多复杂的工具?一位开发者用87行Python代码证明:不需要仪表盘,不需要企业级架构,一条Telegram消息足够。

他把这个小工具叫做Windows11Alert。开机瞬间,手机会收到格式化通知:电脑名称、Windows用户名、本地和公网IP、开机时间、操作系统版本、处理器型号、内存大小。如果上次是非正常关机或重启,它还会从Windows事件日志里挖出记录,告诉你具体时间和原因。

打开网易新闻 查看精彩图片

关机监控的悖论

最初的设想很完美:开机发消息,关机也发消息。但开发者很快发现,关机通知几乎不可能可靠实现。

他试了Task Scheduler的关机触发器、组策略关机脚本、隐藏窗口检测、WM_QUERYENDSESSION和WM_ENDSESSION消息。手动测试时都能跑通,真到关机时却频繁失败——Windows关闭网络服务的速度太快,消息还没发出去,连接已经断了。

最后的解法很反直觉:放弃实时关机通知,改成下次开机时读取事件日志,补报上次的关机/重启记录。消息会晚到,可能是几小时,可能是几天,但一定能到。

技术栈极简

Python处理核心逻辑,Telegram Bot API发消息,PyInstaller打包成独立exe,Inno Setup做安装程序。依赖库只有python-dotenv、psutil、requests三个常见包。

配置也简单:建一个Telegram机器人,拿到token和聊天ID,写进.env文件,装机时填进去就行。

这解决什么问题

远程服务器突然重启,你想知道是谁干的、从哪登录的。家里电脑被家人开了,你想确认是不是自己忘了关。笔记本放在公司,你想追踪有没有异常开机记录。

这些场景不需要Zabbix或Prometheus。一条即时消息,足够让人安心——即使关机那条,会迟到。