一款面向运维场景的 Windows 批处理守护工具:把服务器上散落的 .bat / .cmd
纳入统一管理,以专用低权限账号运行,并提供开机自启、计划启动、守护重启、
输出日志捕获、目录授权等一站式能力,让批处理既省心又安全。
当前版本 v1.1.0 · 免安装单文件 · .NET Framework 4.5 · Windows 7 / Server 2008 及以上
围绕“批处理运维”这一件事做深做透,能力分为安全、调度、日志三条主线。
所有批处理以专用低权限本地账号(仅 Users 组权限)运行,脚本里的任何命令都无法获得管理员权限,误操作与安全风险降到最低。
一键为批处理所在目录授予低权限账号完全控制权限(icacls,含子对象继承),支持“当前目录及子目录 / 上层目录”两种模式。
可按批处理项选择隐藏窗口静默运行,或显示控制台窗口便于观察;隐藏窗口模式不弹黑框,适合服务器常驻任务。
单个或全部一键启动、停止、重启;作业对象托管整棵进程树,停止时连带子进程一起结束,不留残留进程。
登录时自动启动指定批处理;还支持每天 / 每周指定星期 / 一次性 / 每隔 N 分钟四种计划触发方式(基于 Windows 计划任务)。
开启守护后,批处理进程意外退出会自动重新拉起,无需人工盯守,适合必须长期在线的后台任务。
实时捕获批处理的控制台输出,按天写入 Logs\批处理名\yyyy-MM-dd.log;界面日志面板按选中项过滤展示。
在工具之外手动双击启动的批处理也会被自动发现并标记为“运行中(外部)”,同样接管其控制台输出到日志,状态不脱管。
配置以 XML 明文存储(可备份、可手工编辑),自动维护备份并在损坏时恢复;关窗最小化到托盘,退出前确认运行中任务。
从添加批处理到长期守护,五步完成。整个过程只需鼠标操作,无需写脚本、无需改系统配置。
首次运行会弹出 UAC 提示,请选择“是”。程序需要管理员权限来创建低权限账号、执行 icacls 授权和创建计划任务(这些操作只做一次或按需执行)。
首次启动会自动打开“低权限账号管理”,点击 创建 / 修复账号 即可,密码自动生成并加密保存,无需记忆。详见下方 低权限配置。
点击工具栏 + 添加批处理,或直接把 .bat / .cmd / .lnk / .exe 文件拖进窗口(.lnk 快捷方式会自动解析成目标程序)。
双击表格行(或选中后点 ✎ 编辑)设置:开机自启、守护重启、运行窗口(隐藏/显示)、目录授权范围、启动模式、计划启动(每天 / 每周 / 一次 / 每隔 N 分钟)。
选中行点 ▶ 启动;点击日志面板自动按当前选中项过滤显示输出,点 📁 打开日志目录 可查看按天落盘的日志文件。表格中直接点击 开机自启 / 守护重启 / 运行窗口 / 计划启动 / 目录授权 / 启动模式 所在单元格,可免弹窗快速切换。
直接以管理员身份运行批处理,意味着脚本里的每一行命令都拥有整台服务器的控制权——一旦脚本被篡改、 或命令写错路径,后果可能是灾难性的。BATGuard 的核心设计就是:把批处理关进“低权限账号”这个笼子里, 无论脚本内容如何,它能做的都被限制在普通用户权限之内。
点击状态栏右下角 低权限账号:● 未配置,或右键表格行 → 低权限账号管理…,
或托盘菜单同名项。首次启动检测到账号不存在时会自动弹出该窗口。
账号名默认 BatRunner(可改,须字母开头,仅字母/数字/下划线/连字符,≤20 位)。
点击后程序自动创建本地账号并生成随机密码、加密保存。账号已存在但异常时,同一按钮可用于修复。
点击 为所有批处理目录授权,程序会按每个批处理项的授权模式
(当前目录及子目录 / 上层目录,在“编辑”对话框里设置)逐目录执行 icacls 完全控制授权。
忘了授权也没关系——启动批处理时会自动检测并补授权一次。
用生成的账号密码做一次真实登录验证,通过即配置完成。之后启动任何批处理,都会以该账号身份运行。
▲ 低权限账号管理窗口
| 启动模式 | 说明 |
|---|---|
| 托管 ProcessStartInfo 默认 · 推荐 |
以凭据方式直接启动进程,实时捕获控制台输出到日志。绝大多数场景使用这一种即可。 |
| 计划任务 | 通过 Windows 计划任务以指定账号启动(备选方案)。由系统负责完整的用户环境初始化,输出经外部扫描接管。 |
两种模式都以外部分析扫描兜底:即使进程是由别的方式拉起的,只要命令行中包含该批处理路径,就会被接管并记录日志。
| 设置项(编辑对话框) | 选项 | 说明 |
|---|---|---|
| 运行窗口 | 隐藏窗口 / 显示窗口 | 隐藏窗口静默运行不弹黑框;显示窗口便于现场观察(输出同样写入日志)。 |
| 目录授权 | 当前目录及子目录 / 上层目录 | 决定 icacls 授权的作用范围。批处理需要写上级目录文件时选“上层目录”。 |
| 启动模式 | 托管 ProcessStartInfo / 计划任务 | 见上方“启动模式说明”。点击表格“启动模式”单元格可直接循环切换。 |
| 守护重启 | 开 / 关 | 开启后进程意外退出自动重新以低权限账号拉起(3 秒后)。 |
Logs\_manager\ 管理器日志中,包含使用的启动模式、
账号、PID 与失败原因;批处理自身的输出在 Logs\批处理名\ 下按天存放。出问题时先看这两个日志,基本能定位到原因。
主界面一站式管理所有批处理项;低权限账号管理独立成窗,创建账号、授权目录一目了然。以下按功能模块逐屏讲解。
面向自动化部署与运维排查的命令行参数、文件结构说明。
便于与其它调度系统集成、脚本化部署(单实例运行,重复启动时参数会自动转发给已运行的实例)。
| 参数 | 作用 |
|---|---|
--boot | 开机自启入口(由“本程序开机自动启动”注册表项调用),启动后按设置最小化到托盘。 |
--silent | 计划启动入口(由计划任务调用),不弹主界面,直接启动目标批处理并最小化。 |
--autostart-item <id> | 启动指定 Id 的批处理项(配合 --boot / --silent 使用)。 |
--stop-item <id> | 停止指定 Id 的批处理项。 |
--add-item <path> | 添加一个批处理项(支持 .bat/.cmd/.lnk/.exe)。 |
--account | 启动后直接打开“低权限账号管理”。 |
--show | 让已运行的实例恢复主界面(无参数二次启动时自动附带)。 |
| 位置 | 说明 |
|---|---|
%ProgramData%\BATGuard\config.xml | 主配置文件(XML 格式,可备份 / 手工编辑)。 |
%ProgramData%\BATGuard\config.bak.xml | 上一份良好配置的自动备份;主文件损坏时自动从备份恢复。 |
%ProgramData%\BATGuard\runner.dat | 低权限账号凭据(DPAPI 加密,仅本机可解)。 |
程序目录\Logs\批处理名\yyyy-MM-dd.log | 各批处理按天的运行日志。 |
程序目录\Logs\_manager\yyyy-MM-dd.log | 管理器自身事件日志(启动 / 停止 / 守护 / 授权等)。 |
使用中遇到的高频问题与解决方法。
智创思维工作室 —— 专注企业级用友生态产品与解决方案。
我们长期深耕用友 BIP / NC / NCC 生态,提供成熟商业产品与企业定制开发服务。除本工具外,目前在售产品包括:
产品咨询、试用、定制开发,欢迎电话或微信联系(同号):
也欢迎提出对本工具的功能建议与问题反馈,我们持续迭代。
本工具免费提供内部使用;商业项目中的批量部署与定制需求,欢迎洽谈。