天翼云AI电脑4h8g,自动关机策略分析

资源见贴:

贴1:天翼云AI电脑4h8g, 白嫖积分!
贴2:天翼云AI电脑 白嫖积分 4h8g

本贴主要分析这个云电脑的自动关机策略。
现象: 如果你在上面部署了某个Agent或者自动化工具,你会发现过一段时间这个电脑的进程就全被干掉了;如果没有连接远程桌面,那么这个机器会休眠。

我让Opencode分析了一下,结果如下:

排查总结

核心结论

本机不存在任何"定时关闭所有程序或重置"的 PowerShell 计划任务、服务或自动脚本。 反复关机的决策权在远端云平台,执行动作由本机的云桌面代理(clink)完成。

排查范围与结果(全部为阴性)

检查项 结果
计划任务全量(schtasks /fo csv /v) 仅 2 个调用 PowerShell:TeleAgentWatchdog(保活 TeleAgent)、WinVMDataDiskAutoInitialize(Azure 磁盘初始化),均无害
服务 无以 PowerShell/脚本为入口的服务
Run / RunOnce 注册表 仅 SecurityHealth、AzureArcSetup、TeleAgent
启动文件夹 空
计划任务 XML 无 Hidden=true,无 shutdown/taskkill
WMI 永久事件订阅 仅默认 SCM 日志消费者
组策略启动/关机脚本 注册表路径不存在
IFEO Debugger、Winlogon Shell/Userinit 均为原版
全盘脚本关键字扫描 仅 ctyun\clink\...\kill-cloudupdatejar.bat(云更新自用)

真正的触发源

天翼云桌面客户端(clink) 的证据链:

  1. 注册表铁证 HKLM\SOFTWARE\ecloudsoft\Mirror\ClinkAgent:
    • SessionEndTime = 1794500599 → 换算为 2026-11-13 00:23:19
    • 实际关机事件:00:23:20 —— 误差仅 1 秒
    • SessionEndManual = 0,desktopOid = D0026110624642120
  2. 平台下发策略 meta_data:reboot_wait=300、stop_wait=50
  3. 会话时长规律(从 clink_service.log 提取):11/12–11/13 期间 8 个会话时长为 30.4 / 30.5 / 30.7 / 30.4 / 30.5 / 30.4 / 30.4 / 30.2 分钟,高度一致 → 平台分配的会话配额到期回收
  4. 执行组件:clink_service(LocalSystem 服务,含 GetShutdownFlag、Global\CtyunShutdownMappingObject)、ctyunshutdownplug64.dll(导出 MyExitWindowsEx,PDB 为 ShutdownDetect)、RebootConfirm.exe(含 API 路径 /api/cdserv/desktop/rebootDesktop 与管理端密钥)
  5. 日志印证:clink_service.log 中每次关机前一条即 Session change to 1 LOGOFF,随后 Shutdown clink_service

完整链路:

云平台管理端 → 下发 SessionEndTime
  → clink_agent (WebSocket 长连 100.64.3.249:27149) 写入注册表
  → clink_service (LocalSystem) 检测到会话到期
  → winlogon.exe 调用 ExitWindowsEx → 关闭电源

事件日志中 1074 记录发起者为 winlogon.exe / NT AUTHORITY\SYSTEM(而非 shutdown.exe),正是服务在 SYSTEM 上下文调用 ExitWindowsEx 的典型特征,排除了本地脚本与手动关机。

能否拒绝?

不能从本地正面拒绝,但有三条可操作路径:

  • Windows 层面无解:ExitWindowsEx 是内核 API,SeShutdownPrivilege 默认具备,管理员亦可直调,系统不提供"拒绝关机"策略。
  • SessionEndTime 无效:每次开机由平台重新下发覆盖,本地改注册表会被立即重置。
  • 可行的本地硬拦(有代价):
    1. 停用 clink_service —— 会同时断掉你的远程桌面连接
    2. 移除 ctyunshutdownplug64.dll —— 需管理员权限,且会被云更新还原,建议同时禁用 CloudUpdate
    3. 关闭 AutoEndTasks、调大 WaitToKillAppTimeout —— 只能让关机前多留保存时间,不能阻止关机(当前平台下发的是"快速关机配置":AutoEndTasks=1 + WaitToKillAppTimeout=5000,这正是任务被"快速"杀掉、来不及保存的原因)

建议

不要在本机硬扛,应从平台侧解决。 将 desktopOid = D0026110624642120、tenant_oid = Ctyun37d5c336487645511792477754 提交给云平台管理员,请其核查:

  1. 该桌面的会话到期回收策略(把 SessionEndTime 后延或关闭自动回收)
  2. 操作审计日志中谁在何时调用了 rebootDesktop
  3. 是否可为你延长会话时长或关闭"快速关机"

同时,为降低实际损失,建议对关键长任务配置开机自动续跑(参考现有 TeleAgentWatchdog 的 RestartCount 方案),或把耗时任务迁到云平台独立后台容器运行,不依赖交互式桌面会话的存活。

如需,我可以继续帮你:核查当前有哪些关键进程/任务在跑、评估停用 clink_service 对你远程连接的具体影响,或为指定任务配置重启后自动续跑。