Python 通过wmi获取Window服务器硬件信息
通过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"] = 0for cpu in c.Win32_Processor(): tmpdict["cpuid"] = cpu.ProcessorId.strip()tmpdict["CpuType"] = cpu.Nametmpdict['systemName'] = cpu.SystemNametry:tmpdict["CpuCores"] = cpu.NumberOfCoresexcept:tmpdict["CpuCores"] += 1tmpdict["CpuClock"] = cpu.MaxClockSpeed tmpdict['DataWidth'] = cpu.DataWidthprint (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.DeviceIDtmpmsg['Caption'] = disk.Captiontmpmsg['Size'] = disk.Sizetmpmsg['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.BankLabeltmpmsg['SerialNumber'] = mem.SerialNumber.strip()# tmpmsg['ConfiguredClockSpeed'] = mem.ConfiguredClockSpeedtmpmsg['Capacity'] = mem.Capacity# tmpmsg['ConfiguredVoltage'] = mem.ConfiguredVoltagememorys.append(tmpmsg)for m in memorys:print (m)return memorys# 电池信息,只有笔记本才会有电池选项
def printBattery():isBatterys = Falsefor b in c.Win32_Battery():isBatterys = Truereturn isBatterys# 网卡mac地址:
def printMacAddress():macs = []for n in c.Win32_NetworkAdapter():mactmp = n.MACAddressif mactmp and len(mactmp.strip()) > 5:tmpmsg = {}tmpmsg['MACAddress'] = n.MACAddresstmpmsg['Name'] = n.Nametmpmsg['DeviceID'] = n.DeviceIDtmpmsg['AdapterType'] = n.AdapterTypetmpmsg['Speed'] = n.Speedmacs.append(tmpmsg)print (macs)return macsdef main():printCPU()printMain_board()printBIOS()printDisk()printPhysicalMemory()printMacAddress()printBattery()if __name__ == '__main__':main()
Python 通过wmi获取Window服务器硬件信息相关推荐
- python 自动获取所有设备信息-使用Python脚本来获取Cisco设备信息的示例
今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令. 下载后主要有3个文件: Systems.py 定义了一些不同设备的操作系统及其常见命令. Connect ...
- C++通过WMI获取硬件配置信息
C++通过WMI获取硬件配置信息 WMI即Windows管理规范.通过它可以访问.配置.管理和监视几乎所有的Windows资源. WMI提供程序在WMI和托管资源之间扮演着中间方的角色.提供程序代表使 ...
- 基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection
基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection 获取P ...
- linux下通过Python代码实现获取硬件接口信息
linux下通过Python代码实现获取硬件接口信息 1.CPU架构 Python中,platform模块给提供了很多方法去获取操作系统的信息. touch cpu.py vi cpu.py #编辑内 ...
- Python通过WMI读取主板BIOS信息
Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Management (WBEM)的Windows ...
- python request post 数组_[pve][python]用python3获取pve状态信息
手头的Proxmox VE集群和节点越来越多,需要考虑统一管理了,先定一个小目标--集中状态监控. 以前写过检测ceph并用钉钉报警的bash脚本,这次换上洋气的方式,用python来通过pve的ap ...
- python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...
爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...
- Python使用WMI获取主板和CPU序列号
2019独角兽企业重金招聘Python工程师标准>>> 安装wmi pip install pywin32 pip install wmi 代码 import wmi c = wmi ...
- c++获得cpu厂商_【C++】WMI获取系统硬件信息(CPU/DISK/NetWork etc)
原创 2016年05月14日 01:50:22 标签: c++ / WMI / CPU 官网找到一个例子,根据例子修改下可以获取很多信息 [cpp] #define _WIN32_DCOM #incl ...
最新文章
- 判断类之间的父子关系
- 知乎自动批量软件使用教程
- Flask 备注一(单元测试,Debugger, Logger)
- gsonformat安装怎么使用_车载蓝牙充电器怎么安装使用?如何运用
- java entryset_Java HashMap entrySet()方法与示例
- 李超:WebRTC传输与服务质量
- python给出数据点进行插值_Python对数据进行插值和下采样的方法
- USACO-Section1.4 Ski Course Design (枚举)
- 根治“Microsoft JET Database Engine 错误 80004005”
- php mysql缓存技术_系统的讲解 - PHP 缓存技术
- cacti监控 磁盘I/O
- php mysql搜索功能并分页_php实现搜索和分页效果-亲测有效
- Typora自动生成标题编号(包含从二级标题开始的)
- 时速云:基于K8S的容器PaaS,将成为未来IT基础设施的重要组成部分
- 2020N1叉车司机模拟考试及N1叉车司机复审模拟考试
- (2015年度)黑龙江测绘地理信息局青年学术和技术带头人考评与增选公示
- Windows应用程序高级控件之月历控件--MonthCalendar控件
- 计算机与网络基础知识的问答
- 年度收官技术盛宴SD2.0大会精彩议题曝光
- Gartner 魔力象限:云基础设施和平台服务 2020年
热门文章
- Wetool已死,私域流量还有可用的社群工具吗?
- java导出命令行可执行文件出现报错Error parsing SQL Mapper Configuration. Error parsing Mapper XML. Error resolving
- SharePoint 2016 企业项目管理应用(二,基础安装配置SQL Server 2014 安装)
- Exception in thread main java.lang.SecurityException: Prohibited package name: java.com.
- 接口设置trunk怎样再改为access
- python win32com 操作wps Excel pywintypes.com_error: (-2147221005, '无效的类字符串', None, None) 解决办法
- win10 系统和压缩内存占用80端口解决
- 极限中0除以常数_【高中物理】物理学必知的50个关键常数,考试一定需要的秘籍!...
- 程序员的梦想,打工是不可能打工的,这辈子不可能打工的!
- 工业互联网·化工废水处理PLC远程监控系统