Python 通过wmi获取Window服务器硬件信息 您所在的位置:网站首页 configuredvoltage1200 Python 通过wmi获取Window服务器硬件信息

Python 通过wmi获取Window服务器硬件信息

#Python 通过wmi获取Window服务器硬件信息| 来源: 网络整理| 查看: 265

Python 通过wmi获取Window服务器硬件信息 原创

gmHappy 2021-07-29 09:07:40 博主文章分类:Python ©著作权

文章分类 Python 后端开发

©著作权归作者所有:来自51CTO博客作者gmHappy的原创作品,请联系作者获取转载授权,否则将追究法律责任

通过pip install wmi安装wmi 查看cpu序列号:wmic cpu get processorid在这里插入图片描述 查看主板序列号:wmic baseboard get serialnumber在这里插入图片描述 查看网卡信息:wmic nicconfig get macaddress在这里插入图片描述 通过Python获取

#!/usr/bin/env python # -*- coding: utf-8 -*- import os, sys import wmi c = wmi.WMI() # 处理器 def printCPU(): tmpdict = {} tmpdict["CpuCores"] = 0 for cpu in c.Win32_Processor(): tmpdict["cpuid"] = cpu.ProcessorId.strip() tmpdict["CpuType"] = cpu.Name tmpdict['systemName'] = cpu.SystemName try: tmpdict["CpuCores"] = cpu.NumberOfCores except: tmpdict["CpuCores"] += 1 tmpdict["CpuClock"] = cpu.MaxClockSpeed tmpdict['DataWidth'] = cpu.DataWidth print (tmpdict) return tmpdict # 主板 def printMain_board(): boards = [] # print len(c.Win32_BaseBoard()): for board_id in c.Win32_BaseBoard(): tmpmsg = {} tmpmsg['UUID'] = board_id.qualifiers['UUID'][1:-1] # 主板UUID,有的主板这部分信息取到为空值,ffffff-ffffff这样的 tmpmsg['SerialNumber'] = board_id.SerialNumber # 主板序列号 tmpmsg['Manufacturer'] = board_id.Manufacturer # 主板生产品牌厂家 tmpmsg['Product'] = board_id.Product # 主板型号 boards.append(tmpmsg) print (boards) return boards # BIOS def printBIOS(): bioss = [] for bios_id in c.Win32_BIOS(): tmpmsg = {} tmpmsg['BiosCharacteristics'] = bios_id.BiosCharacteristics # BIOS特征码 tmpmsg['version'] = bios_id.Version # BIOS版本 tmpmsg['Manufacturer'] = bios_id.Manufacturer.strip() # BIOS固件生产厂家 tmpmsg['ReleaseDate'] = bios_id.ReleaseDate # BIOS释放日期 tmpmsg['SMBIOSBIOSVersion'] = bios_id.SMBIOSBIOSVersion # 系统管理规范版本 bioss.append(tmpmsg) print (bioss) return bioss # 硬盘 def printDisk(): disks = [] for disk in c.Win32_DiskDrive(): # print disk.__dict__ tmpmsg = {} tmpmsg['SerialNumber'] = disk.SerialNumber.strip() tmpmsg['DeviceID'] = disk.DeviceID tmpmsg['Caption'] = disk.Caption tmpmsg['Size'] = disk.Size tmpmsg['UUID'] = disk.qualifiers['UUID'][1:-1] disks.append(tmpmsg) for d in disks: print (d) return disks # 内存 def printPhysicalMemory(): memorys = [] for mem in c.Win32_PhysicalMemory(): tmpmsg = {} tmpmsg['UUID'] = mem.qualifiers['UUID'][1:-1] tmpmsg['BankLabel'] = mem.BankLabel tmpmsg['SerialNumber'] = mem.SerialNumber.strip() # tmpmsg['ConfiguredClockSpeed'] = mem.ConfiguredClockSpeed tmpmsg['Capacity'] = mem.Capacity # tmpmsg['ConfiguredVoltage'] = mem.ConfiguredVoltage memorys.append(tmpmsg) for m in memorys: print (m) return memorys # 电池信息,只有笔记本才会有电池选项 def printBattery(): isBatterys = False for b in c.Win32_Battery(): isBatterys = True return isBatterys # 网卡mac地址: def printMacAddress(): macs = [] for n in c.Win32_NetworkAdapter(): mactmp = n.MACAddress if mactmp and len(mactmp.strip()) > 5: tmpmsg = {} tmpmsg['MACAddress'] = n.MACAddress tmpmsg['Name'] = n.Name tmpmsg['DeviceID'] = n.DeviceID tmpmsg['AdapterType'] = n.AdapterType tmpmsg['Speed'] = n.Speed macs.append(tmpmsg) print (macs) return macs def main(): printCPU() printMain_board() printBIOS() printDisk() printPhysicalMemory() printMacAddress() printBattery() if __name__ == '__main__': main()

在这里插入图片描述

收藏 评论 分享 举报

上一篇:Python 自定义三方库

下一篇:Python 中的Lock与RLock



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有