接到一个需求:要用 UiPath 把散在不同办公点的十几台设备全部做成无人值守,每天固定时间自动跑数据采集,同时所有执行参数都从 json 文件读取。这类项目做多了以后,我最大的感受是:真正难的不是写几个自动化流程,而是“让流程在没有人工干预的情况下可靠地在远端设备上跑起来”,以及“让参数改动不动代码”。
这篇文章我不会讲 UiPath 的入门安装,也不会讲怎么录制一个网页点击,而是聚焦两个实战关键点:一是多台远程设备的无人控制怎么设计、怎么配置、怎么避免翻车;二是 json 文件在无人值守流程中的读取方式,尤其是远程机器上那种“路径不确定、权限受限、一行写错直接崩”的情况。如果你是正在做 RPA 推广、准备把流程从本地搬到企业环境、或者刚接手无人值守项目的同学,这篇内容基本可以当一份踩坑笔记来用。
1. 需求分析与总体架构:先搞明白“无人控制”到底在解决什么
1.1 复盘一个真实的无人值守场景
先说我实际做过的案例。业务方有 4 台设备分布在 3 个办公点,每台设备需要登录不同的业务系统,把当天的单据下载下来,再按规则重命名后归档。以前是每天晚上让值班同事手动操作,操作一次大概 15 分钟,还要填 Excel 记录哪台做完了、哪台失败了。
这种需求的本质是什么?是“定时 + 远程 + 无人化 + 按设备差异化执行”。业务系统不可能为每台电脑单独开发接口,所以最合适的自动化载体就是 UiPath。但这里有几个坎:
第一,设备离你很远,你不可能每天跑过去看屏幕;第二,流程执行时需要 Windows 账号和系统权限,不能只靠有人登录后手动点“运行”;第三,每台设备的业务参数不一样,比如单据类型、下载目录、账号密码,这些如果硬编码在流程里,改一次发一次包,维护成本高到离谱。
所以在做架构之前,必须先把“远程设备控制”的思路厘清:不是每台设备人都去盯,而是通过一个中央控制端把任务下发给各设备的 Robot,Robot 执行完把结果回报回来。中央控制端负责调度、队列、日志、重试,设备上的 Robot 只负责执行。
1.2 技术选型:为什么不用系统计划任务自己写脚本
有人会问,既然这些设备上都已经装了 Windows,为什么不用“任务计划程序”定时启动一个脚本,还要花钱买 UiPath Orchestrator?这个问题我面试时经常被考,实战中的答案很直接:
- 业务系统是网页或客户端软件时,纯脚本很难稳定操控界面,而 UiPath 擅长 UI 自动化;
- 多台设备需要统一监控执行状态,光靠脚本返回码没法表达“登录失败”“文件没生成”“网络超时”这些业务异常;
- 失败重试、并发控制、优先级队列,自己从零写一套很痛苦;
- 流程更新后,需要让十几台设备同时拿到新版本,计划任务做不到一键发布。
简单对比一下:
| 对比项 | Windows 计划任务 + 脚本 | UiPath Orchestrator + Robot |
|---|---|---|
| 界面自动化能力 | 弱,基本靠脚本模拟 | 强,支持 Web 和桌面应用 |
| 集中下发流程 | 需要自己维护脚本包 | 发布后自动分发到已注册设备 |
| 失败重试和队列 | 配置繁琐 | 原生支持队列和重试策略 |
| 日志与告警 | 依赖自建日志系统 | 每个作业都有日志和状态 |
| 参数动态化 | 改配置还要处理不同机器同步 | 可在队列项里传递 json 字符串 |
并不是说计划任务一无是处,而是涉及“大量设备 + UI 操作 + 标准化管理”时,UiPath 这套体系的优势更明显。
1.3 核心数据流:json 文件在无人控制里处于什么位置
我见过很多刚接触无人值守的同事,一上来就在编排页面上拼命拖各种 Activity,却忽略了数据设计。实际上,一套稳定的无人值守方案,数据流大概是这样:
总控侧预先定义好一份或一批 json 任务参数,例如本次要处理哪些设备、每个设备的业务编码和归档路径;流程触发时,Orchestrator 把“任务信封”通过队列项发给对应机器人;远端设备的 Robot 启动后,先读取本机上的 json 配置(也有可能是从队列项的 SpecificContent 里取出一段 json 字符串),解析出本次要做什么、参数是什么,再执行业务操作,最后写日志。
这里最容易被忽略的就是 json 解析环节。它很基础,但放到无人值守场景里会放大很多问题:路径不是用户桌面、编码不是 UTF-8、字段可能为空、数组深度两层以上、整个 json 文件被业务方随手填错一个逗号……任何一个问题都会让流程在半夜静默失败。所以后面我会把 json 读取单独拿出来详细讲,因为它真的值得。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 多台远程设备无人值守架构搭建:Orchestrator 与 Robot 的正确连接方式
2.1 先理解 UiPath 无人值守的运行模式
在真正做多设备调度之前,你需要对 UiPath 的几种 Robot 类型有概念。有人值守 Robot(Attended)通常装在用户桌面,由用户自己触发,适合辅助人工处理前台任务;无人值守 Robot(Unattended)则运行在独立机器上,由 Orchestrator 远程触发,不需要有人守在屏幕前。
无人值守 Robot 的工作方式,简单理解是:Robot 在电脑后台创建一个独立的 Windows 会话,用你预先授权的账号登录并执行流程。所以核心前提有两个:一是这台电脑必须能和 Orchestrator 正
