背景
企业 IT 部门最头疼的场景之一:员工换电脑。
- Chrome 收藏夹要迁移
- SharePoint 团队网站挂载要恢复
- 已安装软件要重新部署
- 下载文件夹等数据要手动备份到 OneDrive
传统做法是 IT 工程师一台台手动处理,费时且容易遗漏。最近我在 AI 辅助下完成了一套 Python 脚本,实现了旧电脑一键导出 → OneDrive 暂存 → 新电脑一键恢复的全流程自动化。
两个脚本,各司其职
1️⃣ export_tool_admin.py — 旧电脑端(抓取 & 备份)
功能:
- ✅ 检查管理员权限(必须右键”以管理员身份运行”)
- ✅ 自动定位当前用户空间和企业 OneDrive 路径
- ✅ 备份 Chrome 收藏夹(
Bookmarks文件) - ✅ 精准抓取 SharePoint 库的
SiteID、WebID、ListID(从注册表读取) - ✅ 全量扫描已安装软件(用户级 + 系统64位 + 系统32位卸载注册表)
- ✅ 弹出勾选界面,让员工选择新电脑上需要保留的软件
- ✅ 生成迁移清单存入 OneDrive 的
IT_Migration_Backup目录 - ✅ 弹出红色加粗警告窗口,提醒 IT 现场手动备份无法自动处理的目录(下载文件夹、微信/钉钉本地数据、D盘业务文件等)
2️⃣ restore_tool_admin.py — 新电脑端(恢复 & 部署)
功能:
- ✅ 检查管理员权限
- ✅ 从 OneDrive 读取迁移清单
- ✅ 强杀 Chrome 进程后无缝还原收藏夹
- ✅ 将 SharePoint 挂载信息注入
HKLM全局策略(TenantAutoMount),永久生效 - ✅ 通过 Winget 从公司门户/企业私有源静默安装软件(失败降级为用户级安装)
- ✅ 弹出绿色交付报告,汇总恢复状态并提醒 IT 工程师:重启电脑、检查手动备份数据
技术亮点
| 特性 | 实现方式 |
|---|---|
| SharePoint 配置提取 | 读取 HKCU\Software\Microsoft\OneDrive\Accounts 注册表,解析 ScopeId 中的 SiteId/WebId/ListId |
| 软件清单扫描 | 遍历三个注册表路径(HKCU Uninstall + HKLM Uninstall + HKLM Wow6432Node Uninstall) |
| 静默安装 | Winget --silent --scope machine,失败自动降级为用户级 |
| 全局策略注入 | 写入 HKLM\SOFTWARE\Policies\Microsoft\OneDrive\TenantAutoMount |
| 管理员权限 | ctypes.windll.shell32.IsUserAnAdmin() 检测 + PyInstaller --uac-admin 清单 |
| GUI 界面 | Tkinter + 中文界面,大尺寸弹窗确保信息不被忽略 |
使用流程
1 | 旧电脑(管理员运行) |
打包成 .exe
1 | pip install pyinstaller |
--uac-admin 确保生成的 exe 自动请求管理员权限,员工双击即可。
适用场景
- 🔹 企业 IT 部门批量换机
- 🔹 员工离职/入职设备交接
- 🔹 设备故障后快速恢复工作环境
- 🔹 需要标准化软件部署流程的团队
注意事项
- 必须以管理员身份运行 — 涉及注册表 HKLM 写入和 Winget 系统级安装
- OneDrive 必须已登录并同步 — 脚本依赖 OneDrive 作为中转存储
- Winget 需要公司门户配置 — 企业私有软件源需提前配置,否则只能从 Winget 公共源安装
- 无法自动备份的数据 — 下载文件夹、微信/钉钉本地数据、非系统分区文件需要手动处理
总结
这套脚本的核心思路是:用 OneDrive 作为桥梁,把旧电脑的配置”搬运”到新电脑。在 AI 辅助下,从需求梳理到代码实现、从注册表解析到 GUI 界面,开发效率大幅提升。对于没有专业 IT 运维工具的中小企业,这是一个低成本的换机自动化方案。
💡 完整代码已整理好,需要的话可以联系我要。