告别邮件混乱!我用 Django 做了个 PC 信息自动收集系统
阅读原文
建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:《告别邮件混乱!我用 Django 做了个 PC 信息自动收集系统》
https://docs.dingtalk.com/i/nodes/4lgGw3P8vRmaK2mGcROM7a9y85daZ90D
写在前面
你是否也遇到过这样的场景:公司每天都有新电脑需要部署,SCCM 自动安装完系统后,想知道这台电脑的配置信息?以前我们都是通过脚本收集信息然后发邮件,结果每天收到几十上百封邮件,想查个电脑信息还得翻半天邮箱… 😫
我曾经录制了一个视频,演示我是如何利用sccm实现自动化部署Windows系统的,同时也演示了,Windows系统部署完成后首次进入桌面时,脚本会自动采集电脑的一些信息,通过邮件发送给有关人员,便于诊断和统计,请点击此链接查看这个视频演示:https://www.bilibili.com/video/BV1nFjGzfEYw/
于是,我花了点时间做了这个项目,彻底解决了这个痛点!
项目背景
以前的做法:
-
SCCM 部署系统 → 脚本收集信息 → 发送邮件
-
问题:邮件太多、不好查询、没有统计、信息分散
现在的方案:
-
SCCM 部署系统 → 脚本收集信息 → 自动上传到 Web 系统
-
优势:集中管理、随时查询、数据统计、历史记录
github网址
页面展示



核心功能
🖥️ 自动信息收集
电脑首次进入桌面,PowerShell 脚本自动运行:
-
✅ 收集硬件信息(CPU、内存、型号、序列号)
-
✅ 收集系统信息(操作系统版本)
-
✅ 检查激活状态(Windows、Office)
-
✅ 检查域加入状态
-
✅ 检测硬件驱动问题
-
✅ 记录完整日志
📊 Web 管理后台
所有信息实时展示,一目了然:
-
🔍 快速搜索:按计算机名、用户名、资产编码查询
-
📈 数据统计:设备类型、激活状态、错误分布
-
📋 详细信息:每台电脑的完整配置和日志
-
⚠️ 问题提示:自动标记有问题的设备
🔐 企业级认证
-
集成 AD/LDAP 认证,使用域账号登录
-
权限管理,不同角色不同权限
-
安全可靠,数据不外泄
技术架构
后端(稳定可靠)
-
Django 5.0:成熟的 Python Web 框架
-
PostgreSQL:企业级数据库
-
REST API:标准化接口,方便扩展
前端(简洁高效)
-
响应式设计,电脑手机都能用
-
清爽界面,操作简单
部署(一键启动)
-
Docker 容器化:3 分钟部署完成
-
已发布镜像:无需编译,直接拉取使用
-
自动健康检查:服务异常自动重启
客户端(轻量智能)
-
PowerShell 脚本:无需安装,Windows 原生支持
-
自动上传:收集完信息自动 POST 到 API
-
智能检测:自动识别并报告系统问题
-
失败保护:上传失败不影响其他流程
使用场景
场景一:SCCM 自动部署 ⭐⭐⭐
1. SCCM 部署 Windows 系统
2. 系统首次登录,自动执行 PowerShell 脚本
3. 脚本完成系统配置(加域、安装软件、激活等)
4. 自动收集电脑信息上传到系统
5. IT 人员在 Web 后台查看,确认部署成功
对比传统方式:
-
❌ 以前:收到邮件 → 打开 → 查看 → 归档(每台重复)
-
✅ 现在:打开网页 → 看到所有设备 → 一键搜索
场景二:问题排查
设备有问题?一键查询历史记录:
-
🔍 搜索计算机名,查看配置
-
⚠️ 查看错误日志,定位问题
-
📊 对比历史记录,分析趋势
场景三:资产统计
-
📈 设备总数、类型分布
-
💻 CPU、内存配置统计
-
⚡ 激活状态统计
-
📋 导出报表(可扩展)
部署超简单
服务端(3 分钟搞定)
# 1. 克隆项目
git clone https://github.com/iamtornado/PC_info_record.git
cd PC_info_record
# 2. 配置环境变量
cp .env.example .env
nano .env # 修改数据库密码、LDAP 配置等
# 3. 一键启动(自动从 Docker Hub 拉取镜像)
docker compose up -d
# 4. 创建管理员
docker compose exec web python manage.py createsuperuser
# 完成!访问 http://your_server_ip
客户端(无需安装)
将 PowerShell 脚本加入到 SCCM 部署流程:
-
方式 1:unattend.xml 中配置 FirstLogonCommands(我采用的是这种方式)
-
方式 2:组策略登录脚本
-
方式 3:任务计划程序
脚本自动完成:系统配置 → 信息收集 → 上传到服务器
实际效果
部署前 😫
-
每天收到 50+ 封邮件
-
想查个电脑配置要翻半天
-
邮箱爆满,经常找不到
-
没有统计,心里没底
部署后 😊
-
打开网页,所有信息一目了然
-
搜索框输入计算机名,秒出结果
-
自动标记问题设备,主动发现故障
-
数据统计,资产清清楚楚
核心优势
1. 集中管理
-
✅ 所有信息存储在数据库
-
✅ Web 界面统一查询
-
✅ 支持历史记录追溯
2. 自动化
-
✅ 脚本自动收集信息
-
✅ 自动上传到服务器
-
✅ 自动检测系统问题
3. 易维护
-
✅ Docker 容器化,一键部署
-
✅ 代码开源,可自定义扩展
-
✅ 文档完善,易于上手
4. 安全可靠
-
✅ 域账号认证,无需额外账号
-
✅ CSRF 保护,防止攻击
-
✅ 健康检查,自动恢复
技术亮点
智能错误检测 🔍
脚本自动检测并报告:
-
Windows/Office 激活状态异常
-
域加入失败
-
硬件驱动问题
-
所有问题统一展示在 Web 后台
完整日志记录 📝
-
自动保存 PowerShell 执行日志(最多 50,000 字符)
-
详细的错误信息
-
方便问题追溯和分析
RESTful API 🔌
-
标准化接口,易于集成
-
支持自定义扩展
-
完整的 API 文档
开源地址
项目已开源,欢迎 Star ⭐:
-
GitHub:https://github.com/iamtornado/PC_info_record
-
Docker Hub:tornadoami/pc-info-record
-
技术栈:Django + PostgreSQL + Docker
写在最后
这个项目从实际需求出发,解决了 IT 运维中的一个真实痛点。如果你也在用 SCCM 或其他自动化部署工具,也被邮件管理困扰,不妨试试这个方案。
项目特点:
-
📦 开箱即用:Docker 一键部署
-
🔧 灵活扩展:代码开源,可自定义
-
📚 文档完善:从部署到使用,详细说明
-
🎯 实战检验:生产环境稳定运行
从邮件到 Web 系统,从混乱到有序,从被动到主动。这不仅是一个技术升级,更是管理方式的优化。
如果你觉得这个项目对你有帮助,欢迎 Star 支持!也欢迎留言交流你的使用场景和改进建议 💬

关键词:#SCCM #自动化部署 #Django #Docker #IT运维 #PowerShell
📦 开箱即用:Docker 一键部署
-
🔧 灵活扩展:代码开源,可自定义
-
📚 文档完善:从部署到使用,详细说明
-
🎯 实战检验:生产环境稳定运行
从邮件到 Web 系统,从混乱到有序,从被动到主动。这不仅是一个技术升级,更是管理方式的优化。
如果你觉得这个项目对你有帮助,欢迎 Star 支持!也欢迎留言交流你的使用场景和改进建议 💬
[外链图片转存中…(img-uBjYySPv-1761558046123)]
关键词:#SCCM #自动化部署 #Django #Docker #IT运维 #PowerShell
Django打造PC信息自动收集系统

被折叠的 条评论
为什么被折叠?



