PowerCtl 管控后台

电脑自动开关机管控平台 · v1.0

屏幕监控

画面由受控端每 5 秒 抓取一张上报,服务端只保留最新一张,不留存历史。 受控端需在安装时勾选「允许远程查看屏幕」。锁屏或没有桌面会话时抓不到画面。

设备列表

定时策略

关于「定时开机」:设备关机后操作系统已停止,服务端无法下发任何指令。 定时开机必须由主板 BIOS 的 RTC 闹钟完成,此处的 power_on 策略只做登记与到点提醒。 请在 BIOS 中设置对应时间(见「设置指引」页)。

开机记录

判定逻辑:Agent 每次上线会上报本机系统启动时刻。若该时刻与设备上生效的 定时开机策略时间相差在 10 分钟内,判定为 定时触发(即 BIOS 定时开机生效); 否则判定为 非定时(人工按电源键、来电自启或远程唤醒)。
注意:BIOS 定时开机是主板行为,系统只能事后核对,无法干预。

操作日志

落地五步:定时开机 → 自动进桌面 → 防待机 → 装 Agent → 核对记录

第 1 步 · 定时开机(BIOS 设置,一次性)
重启电脑,画面刚亮时连按 Del / F2 / F10(品牌不同按键不同)。 找不到就用 Windows 进:设置 → 系统 → 恢复 → 高级启动 → 疑难解答 → 高级选项 → UEFI 固件设置。
进入后找到 RTC 定时唤醒项(华硕 Power On By RTC、微星 Resume By Alarm、戴尔 Auto Power On、惠普 BIOS Power-On、联想 Automatic Power On),设为 Daily + 目标时间,F10 保存。
按不到热键的常见原因:Win10/11 快速启动导致重启跳过了 POST —— 必须「重启」不能「关机再开」;无线键盘在 POST 阶段常不响应 —— 换有线键盘插黑色 USB 2.0 口。

第 2 步 · 自动进入桌面(每台执行一次)
以管理员身份运行 scripts\setup-autologon.ps1,按提示输入本机账号密码;
再运行 scripts\setup-power.ps1 关闭睡眠、休眠、锁屏与快速启动。
验证:重启后无需输密码直接进桌面。

第 3 步 · 防待机(每台执行一次,最容易漏)
电脑一睡过去,Agent 就随系统挂起、连接断开,后台就管不了它了。 只改「睡眠:从不」不够——Windows 还有 6 个睡眠入口,其中 「无人参与系统睡眠超时」默认 2 小时,常规设置界面根本看不到。
运行 scripts\setup-power.ps1 可一次堵死全部入口 (睡眠/休眠/无人参与睡眠/混合睡眠/合盖动作/唤醒定时器)。 若脚本提示检测到 S0 现代待机,说明是固件在管,需重启一次, 仍不行就进 BIOS 关闭 Modern Standby。
Agent 默认每 10 分钟自动重刷一次这些策略(keepAwake), 防止被厂商电源管理软件改回去;真睡过去后唤醒也会自动重连并上报 「从待机恢复」事件。详见 docs\防待机与待机恢复.md。

第 4 步 · 安装 Agent(每台执行一次)
以管理员身份运行 scripts\install-agent.ps1,填入服务端地址与本设备令牌。
Agent 会随用户登录自动启动(开机进桌面后即上线),并带看门狗自动拉起。
联调时保持 dryRun=true(只打印命令不真关机),确认无误后再改为 false。

第 5 步 · 让后台能识别「是 BIOS 开的机」
在「定时策略」里为该设备建一条 定时开机 策略,cron 填成与 BIOS 里完全相同的那个时间。
Agent 上线时会自动上报本机系统启动时刻,服务端与策略时间比对后写入「开机记录」: 相差 10 分钟内显示绿色 定时触发,否则显示灰色 非定时。
注意:两处时间必须填一致,否则会误判为非定时。

验证闭环
注册设备 → 装 Agent → 后台看到状态变「在线」→ 点「关机」→ 状态变「关机中」→ 到点后转「离线」→ 次日 BIOS 定时开机 → 自动进桌面 → 状态变「在线」→ 「开机记录」页出现一条绿色的「定时触发」记录。
若某天状态卡在「疑似待机」(暖黄底色、桌面显示"无法确认"), 说明机器睡过去了 —— 待机/断电/关机在软件层已无法区分, 请对照 docs\防待机与待机恢复.md 排查。