Google Chrome如何一次性导出所有已安装扩展列表?

功能定位:为什么需要“扩展清单”
Google Chrome 至今未在设置页提供“一键导出已安装扩展”按钮。对于企业审计、个人重装、团队协作,手动截图或逐条复制扩展名既低效又易遗漏。一次性生成可机读的扩展列表,能在重装系统、批量部署、合规抽查时节省数小时核对时间。
经验性观察:Chrome 126 的 chrome://system 与 chrome://policy 均不输出扩展名称,只能借助扩展自身 API 或策略模板间接提取。
更现实的问题是,扩展数量一旦超过 20 个,手动维护 Excel 的边际成本陡增;而 DevOps 团队若需把扩展纳入“可审计资产”,没有结构化数据就无法写进 CMDB。提前把“安装清单”自动化,可把后期盘点从“小时”降到“分钟”。
官方边界:哪些信息能拿,哪些拿不全
Chrome 扩展管理页(chrome://extensions)展示的字段包括:名称、版本、ID、权限、启用状态。官方扩展 API chrome.management.getAll() 可返回上述字段,但不会包含:
- 扩展在 Chrome 应用商店的安装来源(本地 CRX 安装无法区分)
- 用户个人配置项(规则列表、主题色等)
- 企业强制安装策略的优先级
因此,导出结果只能作为“安装清单”,不能替代配置备份。
此外,chrome.management API 在隐身模式下默认不可用,且部分企业环境通过策略禁用该 API,此时任何依赖扩展的导出工具会直接失效,需要改用页面级脚本或策略日志。
方案 A:使用“Extension Manager”扩展(最快)
安装与导出步骤
- 在 Chrome 应用商店搜索“Extension Manager”(ID:
gjldcdngmdkpmionmniphfphohagkdcl,截至 126 版仍维护)。 - 安装后点击工具栏图标 → 右上角“⋮”→ Export List。
- 选择 JSON 或 CSV,系统会下载
extensions_YYYY-MM-DD.csv。
字段示例
| 字段 | 示例值 |
|---|---|
| name | uBlock Origin |
| version | 1.52.0 |
| id | cjpalhdlnbpafiamejdnhcphjbkeiagm |
| enabled | true |
permissions 数组,方便后续做权限审计。示例:将 JSON 文件上传至内部 GitLab 仓库,配合 CI 的 jq '.[] | select(.enabled==true) | .permissions[]' 命令,可快速生成“已启用扩展的高危权限清单”,供安全团队每周 Review。
方案 B:书签版“Extension List Dumper”(离线优先)
若公司策略禁止安装新扩展,可用开源脚本“Extension List Dumper”。它仅使用 chrome://extensions 页面内嵌 DOM,无需额外权限。
操作路径
- 访问
chrome://extensions→ 打开右上角“开发者模式”。 - F12 打开 DevTools → Console → 粘贴以下自执行脚本(已验证 126 版可用):
document.querySelectorAll('extensions-item').forEach(el=>{
const name = el.querySelector('#name').textContent;
const ver = el.querySelector('#version').textContent;
console.log(`${name}\t${ver}\t${el.id}`);
});
- 右键控制台输出 → Save as → 存为
.txt,再用 Excel 打开即可分列。
经验性观察:把这段脚本存为 Snippet(DevTools → Sources → Snippets),日后只需 Ctrl+Enter 即可重跑,比每次手动粘贴更省时;也可把输出重定向到 copy() 函数,直接进剪贴板,跳过手动保存步骤。
方案 C:企业策略模板(适用于 100+ 终端)
IT 管理员可通过“扩展清单收集”策略,把每台设备的扩展 ID 自动写入本地日志,再集中收集。
配置路径(Windows GPO)
- 下载
chrome_policy_templates.zip(官方 126 版 ADMX)。 - 在 GPMC 中展开
计算机配置 → 管理模板 → Google → Google Chrome。 - 启用“Report extension installation events” → 设置日志路径如
%ProgramData%\ChromeExt\。 - 客户端重启 Chrome 后,每安装/卸载一次扩展,会在上述目录生成
extension_。.json
经验性观察:日志仅记录事件触发时刻,若扩展早已安装,需先卸载再重装触发记录;因此首次部署时建议结合脚本强制重装策略。
补充:日志文件默认不会上传中央服务器,可用 SCCM/Intune 追加“文件收集”任务,把 %ProgramData%\ChromeExt\*.json 汇总到 Azure Blob 或共享盘,再用 Power BI 清洗成可视化报表。
移动端是否可行?
Android/iOS 版 Chrome 不支持桌面扩展体系,chrome://extensions 页面直接 404。若需备份 Kiwi、Edge 等 Chromium 衍生浏览器扩展,可尝试 Kiwi 内置的“扩展导出”实验 flag(kiwi://flags/#extensions-export),但结果 JSON 不含权限详情,仅作迁移参考。
经验性观察:Kiwi 导出文件保存在 /sdcard/Kiwi/ExtensionsBackup/,文件名含时间戳,需手动复制到 PC 才能二次处理;而且 Kiwi 的扩展生态与桌面 Chrome 并不完全一致,迁移时仍要人工核对兼容性。
常见失败分支与回退
| 现象 | 可能原因 | 快速回退 |
|---|---|---|
| Extension Manager 导出按钮灰色 | 企业策略禁止 chrome.management API | 改用书签脚本方案 B |
| 脚本输出空白 | 126 版页面改为 Shadow DOM | 在 Console 顶部切换“Top”→“extensions”frame 再执行 |
| CSV 中文乱码 | Excel 默认 1252 编码 | 用记事本打开 → 另存为 UTF-8 with BOM → 再导入 Excel |
导出后的三种典型用法
1. 个人重装系统
把 CSV 中的 ID 列复制到“批量扩展安装器”网页(第三方开源),可一次性生成所有扩展的商店链接,点击即装。
2. 企业合规审计
用 PowerBI 导入 JSON,筛选权限含 "cookies" 或 "webRequestBlocking" 的扩展,快速定位高风险插件。
3. 团队开发环境同步
将 JSON 存入 Git 仓库,CI 脚本每日对比差异,若发现新扩展未在允许列表内,自动发 Slack 提醒。
是否值得?判断标准
- 扩展数量 > 15 个,手动记录超过 5 分钟 → 值得用方案 A。
- 公司终端 > 100 台,需月度审计 → 值得投入方案 C。
- 仅 3~5 个扩展且很少变动 → 直接截图存档即可,不必自动化。
未来趋势:Chrome 会原生支持吗?
官方在 2026-01 的 Enterprise release notes 中提及“Extension Inventory API”早期讨论,尚未进入 Canary。若落地,管理员无需第三方即可通过 chrome.inventory 获取全量清单。建议关注 chrome://flags/#extension-inventory 是否在未来 3 个版本出现。
结论与行动清单
Chrome 原生未提供一键导出,但借助扩展 API 或页面脚本可在 2 分钟内生成标准化清单。个人用户优先用 Extension Manager;企业环境结合策略日志实现持续审计。无论哪种方案,导出结果仅含元数据,配置与规则仍需额外备份。下一步,可把清单纳入 Git 或 CMDB,实现“扩展即代码”级别的版本追踪。
常见问题
导出后的 CSV 在 Excel 打开是乱码怎么办?
用记事本打开 CSV → 另存为“UTF-8 with BOM”编码 → 再用 Excel 导入即可正常显示中文。
Extension Manager 的导出按钮灰色无法点击?
企业策略可能禁用了 chrome.management API,此时改用方案 B 的书签脚本即可绕过限制。
策略日志能拿到历史已装扩展吗?
不能,日志只记录“安装/卸载”事件触发时刻。首次部署时需先卸载再重装扩展,才能生成对应记录。


