公司最近在用qwenpaw学习agent和skill,领导让在项目中使用提高效率,我也有此想法故开始了实践。目前实现了我项目中用到的测试主机的C盘容量监控总共21台以下是效果图:

后续还想增加空闲占比太低则弹出提示。以下是Ai总结:

磁盘监控系统 — 实现总结

一、目标

批量查询多台 Windows 机器的 C 盘空闲/总容量,生成可视化前端页面,并定时自动刷新。


二、核心文件

文件路径说明
check_all_disks.ps1C:\Users\xli23\Desktop\workStation\查询所有机器磁盘,输出 JSON
disk_status.json同上查询结果数据文件,供前端读取
disk_dashboard.html同上前端可视化页面
server.py同上Python HTTP 服务,端口 8080

三、实现方法

1. 磁盘查询(PowerShell)
  • 用 dir \\主机\共享名 获取空闲字节数
  • 用 Scripting.FileSystemObject.GetDrive() 获取总容量
  • 计算空闲占比,按阈值打状态标签:
    • < 5% → critical(红)
    • < 15% → warning(黄)
    • ≥ 15% → ok(绿)
    • 访问失败 → offline(灰)
  • 结果输出为 disk_status.json
2. 前端页面(HTML + JS)
  • 读取 disk_status.json 渲染表格
  • 顶部汇总卡片(总数/正常/警告/严重/离线)
  • 进度条直观显示空闲占比
  • 支持按状态筛选、主机名搜索、列排序
  • 点击刷新按钮重新读取 JSON
3. HTTP 服务(Python)
  • server.py 用 http.server 在端口 8080 提供静态文件服务
  • 访问地址:http://localhost:8080/disk_dashboard.html
4. 定时任务(QwenPaw Cron)
  • 每小时整点自动执行 PS 脚本刷新数据
  • Cron 表达式:0 * * * *
  • Job ID:c04dc361-a7f4-4b4a-be1d-d13cba681e61

四、机器共享名规律

共享名机器类型代表机器
CHP Z2 系列lunzhou66/67/68/71/74/98 等
c_driveHP Mini 800(STARLAB)lunzhou85-93/96/112/118/119 等
C其他lunzhou41/lunzhou-cwf19

五、遇到的问题及解决方法

问题原因解决方法
ping 判断离线但实际在线短主机名无法解析,需加 .ap.qualcomm.com改用 net view 或直接访问共享路径验证
\\lunzhou37\C 超时DNS 解析失败,主机名不通改用 IP \\10.64.29.14\C 访问
共享名不统一不同机型共享名不同(C vs c_drive)先用 net view \\主机 查共享名再访问
PowerShell 多行命令在 cmd 中报错cmd 不支持换行脚本改写为 .ps1 文件再用 -File 执行
Get-PSDrive 无法查远程共享总容量只支持本地驱动器改用 Scripting.FileSystemObject.GetDrive()
System.IO.DriveInfo 不支持 UNC 路径.NET 限制改用 COM 对象 Scripting.FileSystemObject
前端 fetch 本地 JSON 被 CORS 拦截浏览器安全限制用 server.py 起 HTTP 服务解决
PowerShell 中文输出乱码cmd 编码问题改用英文输出
lunzhou41 无 C 盘共享该机器只共享了 IoTAutomationLog 和 Sahara经测试 \\lunzhou41\C 实际可访问,直接用

更多推荐