影刀RPA实操指南:电脑重启后的自动恢复——开机自启动方案

定时任务配在凌晨两点,Windows夜间自动更新把电脑重启了,第二天早上发现机器人离线、任务一个没跑——这是无人值守场景里最经典的翻车现场。电脑重启后的自动恢复,靠的不是人肉早起点开机,而是把影刀RPA做成开机自启动,让断电重启后的一切自己回到轨道上。

我管着几台长期跑采集任务的电脑,被夜间重启坑过三回之后,把整套自恢复方案彻底摸了一遍:从影刀RPA自带的启动设置,到Windows任务计划程序的管理员级自启,再到开机后的自动自检流程。这篇全部展开讲。

方案分三层,从简到繁,按你机器的实际情况选配。

先分清两种场景:本地定时任务与调度机器人

在这里插入图片描述

动手之前先想清楚你的电脑扮演什么角色,两种场景的自恢复配置重点不一样:

场景特征自恢复重点
本地定时任务单机用客户端配计划客户端自启动+自动登录
调度机器人企业版,接收控制台派单自启动+自动登录+自动进调度模式

调度场景多了"登录后切换到调度模式"这一步,漏了它,重启后的机器人在控制台就是离线状态,云端任务派不下来。下面按最全的调度场景配置,本地场景砍掉最后一步就行。

方案一:影刀自带的开机自启动设置

大部分需求这一层就够用,不用碰系统设置。位置在客户端的设置里:个人头像点击右键 → 设置 → 常规,里面有几项跟启动直接相关的勾选项:

  1. 开机后自动启动:勾选后影刀将自动加入开机启动项,这是整条自恢复链的起点

  2. 启动后自动登录:勾选后将自动登录当前账号,与登录界面的自动登录选项同步

  3. 登录后切换到调度模式:登录账号后自动切换到调度模式,调度机器人必勾

  4. 在这里插入图片描述

  5. 关闭主界面:建议选"最小化到系统托盘",防止有人手滑点叉把客户端整个退掉

四项全勾,重启一次电脑验证:开机→影刀自动启动→自动登录→进入调度模式,控制台机器人管理里这台机器应该显示"空闲"。整个链路通了,这一层就算完工。

**易错点:自动登录依赖账号密码在本地保存过。**重装系统或换账号后忘了重新验证自动登录,重启后客户端卡在登录页,后面全部断掉。每次换密码,记得手动登一次让凭证刷新。

方案二:任务计划程序以管理员身份自启

影刀自带的自启动是普通权限启动的,但有些场景机器人要操作必须管理员权限才能动的软件——比如某些桌面客户端、需要写系统目录的任务。这时需要用Windows任务计划程序,让影刀以管理员身份开机自启,官方文档给过完整步骤:

  1. 按 Win+S 快捷键打开系统搜索,输入「任务计划程序」并打开
  2. 点击右侧「创建基本任务」
  3. 任务名称随便写,比如"ShadowBot自启"
  4. 触发器选「计算机启动时」,点下一页
  5. 操作选「启动程序」,浏览选择影刀安装目录下的 ShadowBot.exe
  6. 下一页勾选「当单击"完成"时,打开此任务属性的对话框」,点完成
  7. 在属性对话框点「更改用户或组」,修改对象为 Administrators,同时勾选「使用最高权限运行」
  8. 切到触发器页 → 编辑 → 开始任务选「登录时」→ 勾选「所有用户」→ 确定
  9. 重启电脑验证

最后一步的"所有用户"很关键:只设当前用户的话,电脑重启后停在锁屏界面、没人登录,任务照样不触发。如果机房机器设置了自动登录系统账户,这条务必勾上。

两种方案不冲突,用了方案二就可以把方案一里的"开机后自动启动"取消勾选,避免重复拉起两个实例。

在这里插入图片描述

别忘了电源与锁屏:自恢复的隐形杀手

自启动配好只是第一步,电脑得"活到"任务执行的那一刻。Windows默认的电源策略会在闲置后锁屏甚至睡眠,睡眠状态下定时任务和自启动全部失效。

设置路径:桌面开始菜单 → 设置 → 系统 → 电源和睡眠,把屏幕关闭时间和睡眠时间都改成"从不"。执行机是台式机的话顺便检查BIOS里的交流电恢复选项,断电来电后自动开机,这才是完整的硬件级自恢复。

还有一种情况:屏幕锁定后部分网页操作会失效。如果流程里有依赖前台渲染的操作,考虑把执行时段的锁屏策略放宽,或改用对锁屏不敏感的接口类操作(HTTP请求、数据库读写)代替页面点击。

第三层:开机自检流程,让机器人自己报告状态

前两层解决"程序起来了",但起来不代表环境正常——网络没通、平台登录态丢了、浏览器插件没加载,任何一环断了任务照样失败。我的做法是给每台执行机配一个"开机自检"流程,开机后自动跑一遍:
在这里插入图片描述

自检流程的逻辑用Python写主干,配合影刀RPA的网页自动化指令:

# 开机自检流程核心逻辑
# 输入:无;输出:自检结果写入日志,异常时发通知
import time
import xbot

def check_network():
    # 用「HTTP请求」指令GET一个稳定地址,返回状态码
    # 这里用伪代码表示判断逻辑
    return True

def check_login_state():
    # 打开业务后台页面,用「判断元素是否存在」
    # 检查右上角头像元素,存在=登录态正常
    return True

t0 = time.time()
xbot.logging.info('===== 开机自检开始 =====')

steps = [('网络连通性', check_network), ('平台登录态', check_login_state)]
failed = []
for name, fn in steps:
    if not fn():
        failed.append(name)
        xbot.logging.error(f'自检失败: {name}')   # error级别,日志里一眼可见
    else:
        xbot.logging.info(f'自检通过: {name}')

if failed:
    # 调用飞书Webhook子流程,把失败项推送到群里
    xbot.logging.error(f'自检未通过项: {failed},已通知')
else:
    xbot.logging.info(f'全部通过,耗时{time.time() - t0:.0f}秒')

自检流程本身用影刀的定时任务在"开机后延迟3分钟"触发一次(配合方案二的任务计划程序,或直接在控制台给计划配Crontab表达式做每日早间触发)。流程结构上用Try-Catch把每项检查包起来,Catch里记error日志,Finally里关闭浏览器,任何一项挂掉都不影响后面的检查项。

自检细节上还有几个实用招:登录态过期时,先用图像识别处理登录页的弹窗按钮(wait_appear检测到再click,比盲点稳);浏览器插件没加载的情况,重启浏览器实例再判断一次;自检不过就发飞书消息,附带失败项清单,早上人还没到工位,问题已经知道在哪了。

版本与定时任务的衔接:别让自恢复毁在半路

自恢复链路通了,还要确认任务触发这一环接得上,这里有版本和配置两类坑。

版本先说清楚:社区版每天有30分钟的执行时长限制,夜间长任务基本跑不完,无人值守至少要创业版;调度机器人则是企业版的能力,配了自启动没配对版本,重启后照样领不到云端任务。
在这里插入图片描述

触发配置上,控制台新建常规任务时支持周期执行和定时执行一次两种方式,周期可以用Crontab表达式写出更精细的计划,比如"工作日早上7:15自检"就写成 15 7 * * 1-5。给自检流程单独建一个计划任务,放在所有业务任务之前半小时跑,自检发现问题还有缓冲时间处理。

还有一个容易忽略的衔接点:自启动后影刀是后台托盘运行的,如果流程里有依赖前台窗口的桌面操作(模拟键盘输入、图像识别点击),确保执行时段机器不锁屏——这又绕回电源设置那一步,环环相扣,缺一环整条链路白配。

三种自启动方式的取舍:启动文件夹、注册表与任务计划

实现开机自启动在Windows上不止一条路,随手一搜能看到启动文件夹、注册表Run键、任务计划程序三种,选错方式后面全是隐患。我把三种的实际差异列出来:

方式权限可靠性适合场景
启动文件夹普通用户一般临时测试
注册表Run键普通用户一般简单常驻软件
任务计划程序可设管理员+最高权限高无人值守执行机

启动文件夹和注册表方式都拿不到管理员权限,而且开机后要等用户完整登录才拉起;任务计划程序可以设"计算机启动时"加"使用最高权限运行",还能配失败重启,是执行机的唯一正解。

还有一个高频故障要知道:装了安全软件的机器,开机后自启动项可能被静默禁用,表现为"昨天还好好的今天重启没拉起来"。处理办法是把 ShadowBot.exe 和任务计划里那条任务加进安全软件的信任区,装机的第一天就做掉。验证方式也简单——改完配置必须重启一次电脑实测,纸面配置通过不算数。
在这里插入图片描述

自恢复链路易错速查

现象原因与处理
重启后影刀没自动打开「开机后自动启动」没勾,或被安全软件禁用了启动项
自启动了但停在登录页「启动后自动登录」未生效,手动登一次刷新凭证
控制台显示机器人离线没勾「登录后切换到调度模式」
管理员自启没触发任务计划程序里没勾「所有用户」或未设最高权限
到点任务没跑,机器是开着的电源和睡眠没改"从不",系统休眠了
自检报告登录态丢失平台Cookie过期,把保活操作加进自检流程

写在最后

开机自启动方案的价值在于把"机器重启"从故障降级成无感事件。三层配置下来,断电、更新、误操作导致的重启,机器都能在几分钟内自动回到待命状态,配合自检流程和群通知,无人值守才算真正落地。完整的自检流程源码和任务计划程序的配置清单我放在代码仓库 home.linyan.cloud,可以直接参考改造,照着配一遍大概半小时。


#影刀RPA #RPA自动化 #开机自启动 #定时任务 #无人值守 #系统联动

作者:林焱
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐