Skip to content

Axuan9945/IT-asset-configuration-reading-and-export-tool---supports-uploading-Snipe-IT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IT 资产信息导出工具 (v2.0)

一个为 Windows 设计的、功能强大且高度可扩展的 IT 资产扫描、诊断和同步工具。

本项目由 郑宣瀚Gemini 的协助下构思和开发,旨在为IT专业人员提供一个轻量级、无需安装、开箱即用的资产信息收集解决方案。

✨ 核心功能

  • 全面的硬件扫描

    • 通过插件动态扫描多种硬件信息,包括:
      • CPU (处理器)
      • 主板与整机信息 (序列号、型号)
      • 内存 (RAM)
      • 硬盘 (Disk)
      • 显卡 (GPU)
      • 显示器 (Monitor)
      • 网卡 (Network)
      • 操作系统 (OS)
      • 外设 (键盘、鼠标等)
  • 一键式系统诊断

    • 提供多维度系统健康检查,帮助快速定位问题:
      • 性能诊断: CPU/内存实时占用、高资源消耗进程。
      • 系统健康: 关键服务状态、系统事件日志错误计数。
      • 硬件状态: 硬盘S.M.A.R.T.健康度、电池损耗、CPU温度。
      • 网络连接: 自动探测并 Ping 内网网关及外网地址,检查DNS解析。
  • 多样化报告导出

    • 将扫描结果一键导出为多种常用格式:
      • Excel (.xlsx)
      • PDF (.pdf)
      • CSV (.csv)
      • 直接发送到打印机进行打印
  • 与IT资产管理系统 (ITAM) 对接

    • 内置与 Snipe-IT 集成的同步插件。
    • 智能URL选择: 自动在内外网地址间选择可用链接。
    • 自动创建: 同步时若发现 Snipe-IT 中不存在对应的制造商、类别或模型,将自动创建,极大简化首次部署工作。
  • 现代化用户界面

    • 使用 PySide6pywinstyles 打造的现代化半透明界面。
    • 支持亮色/暗黑模式一键切换。
    • 丝滑的非线性UI动画效果,包括侧边栏伸缩和按钮悬停。

🛠️ 技术栈

  • 核心语言: Python
  • 图形界面: PySide6
  • 系统信息: WMI, psutil
  • API通信: requests
  • PDF生成: reportlab
  • Excel处理: openpyxl
  • Windows原生风格: pywinstyles

🚀 安装与运行

环境要求

  • 操作系统:Windows 10 或更高版本
  • Python: 3.10 或更高版本

1. 克隆或下载代码

git clone <your_repository_url>
cd it-asset-tool
2. (推荐) 创建并激活虚拟环境
Bash

python -m venv venv
venv\Scripts\activate
3. 安装依赖
项目所需的库已在 requirements.txt 中列出。请创建一个 requirements.txt 文件并填入以下内容,然后执行安装命令。

requirements.txt 文件内容:

pyside6
pywinstyles
wmi
psutil
requests
reportlab
openpyxl
ping3
pywin32
安装命令:

Bash

pip install -r requirements.txt
4. 运行程序
Bash

python main.py
📖 使用说明
配置 (主页):

在“自定义页眉”中输入您希望在报告顶部显示的文字(例如公司名称)。

填写 Snipe-IT 的内/外网 URL 和 API 密钥(如果需要使用同步功能)。

使用开关控件选择本次需要扫描的硬件模块。

扫描:

点击“开始扫描硬件信息”按钮。

在右侧的日志区域观察实时扫描进度。

诊断:

切换到“系统诊断”页面,点击“开始系统诊断”以获取详细的系统健康报告。

导出或同步:

扫描完成后,程序会自动跳转到“报告导出与同步”页面。

点击相应的按钮,选择将报告导出为 PDF/Excel/CSV,或直接打印。

如果已配置 Snipe-IT 信息,可以点击“同步到 Snipe-IT”按钮,将本机资产信息自动同步到服务器。

🧩 插件系统
本工具的核心是其高度灵活的插件化架构。所有功能(扫描、导出、诊断、同步)都由独立的插件实现。

插件类型
扫描插件 (scan_*.py): 负责收集特定类型的硬件或软件信息。

导出插件 (export_*.py): 负责将数据格式化为特定的文件或输出。

诊断插件 (diagnostic_*.py): 负责执行特定的系统健康检查。

同步插件 (sync_*.py): 负责与外部系统(如 Snipe-IT)进行数据交互。

开发新插件
您可以非常轻松地通过创建新文件来扩展工具的功能:

在 plugins 文件夹下创建一个符合命名规范的新 .py 文件。

在文件中创建一个类,并让它继承 plugin_interface.py 中对应的接口(例如 ScanPlugin)。

实现接口所要求的全部方法(例如 scan())。

重启主程序,新插件就会被自动发现并加载到界面上。

📄 许可
本项目采用 GPLv3 许可。

🙏 致谢
感谢所有为本项目所依赖的开源库做出贡献的开发者。

About

IT asset configuration reading and export tool - supports uploading Snipe-IT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages