pip install wmi  如果不能安装,就使用 安装 python3 -m pip install wmi

再安装pywin32这个包

使用:

import platform
import win32com
import wmi
class Win32Info(object):
def __init__(self):
#wmi固定用法这样就可以获取服务器的信息了
self.wmi_obj = wmi.WMI()
self.wmi_service_obj = win32com.client.Dispatch("WbemScripting.SWbemLocator")
self.wmi_service_connector =self.wmi_service_obj.ConnectServer(".", "root\cimv2")
  
  def get_cpu_info(self):
    """获取cpu信息"""
  data = {}
  cpu_lists = self.wmi_obj.Win32_Processor()
  cpu_core_count = 0 #初始化cpu核数
    for cpu in cpu_lists:  #有几颗cpu就循环几回
    cpu_core_count += cpu.NumberOfCores #内循环一次增加一个cpu核数
    cpu_model = cpu.Name
    data["cpu_count"] = len(cpu_lists)
    data["cpu_model"] = cpu_model
    data["cpu_core_count"] =cpu_core_count
    return data
  
    def get_ram_info(self):
      """获取内存信息"""
    data = []
    #提取内存所有的内容
    ram_collections = self.wmi_service_connector.ExecQuery("Select * from Win32_PhysicalMemory")
     for item in ram_collections:
    item_data = {}
    #print item
    mb = int(1024 * 1024)
     ram_size = int(item.Capacity) / mb
     item_data = {
     "slot":item.DeviceLocator.strip(),
     "capacity":ram_size,
     "model":item.Caption,
     "manufactory":item.Manufacturer,
     "sn":item.SerialNumber,
     }
    data.append(item_data)
     #for i in data:
     # print i
    return {"ram":data}

  


 

  内存:

linux 获取服务器硬件信息命令:

dmidecode -t system

 

python_way ,day25 wmi的更多相关文章

  1. python_way ,day25 CMDB_models (数据库设计)

    from django.db import models from django.contrib.auth.models import User # Create your models here. ...

  2. C#通过WMI的wind32 的API函数实现msinfo32的本地和远程计算机的系统日志查看功能

    先不说如何实现,先来看看效果图: 读取远程的需要提供下远程的计算用户名和密码即可. 如何实现这个代码功能,请看如下代码部分: 实体类: using System; using System.Colle ...

  3. 迁移Reporting Services的方法与WMI错误

    今天上午,接到一个任务:迁移SQL SERVER 2005的报表服务到另外一台SQL SERVER 2008服务器,结果等我备份了两边服务器的ReportServer,ReportServerTemp ...

  4. silverlight 4.0 的oob模式下,调用com通过wmi重启自身进程 killself

    silverlight目前开发的应用,想做到系统内注销后自动重新启动下 sllauncher.exe ,实现方式是通过WMI的COM接口,获取到当前应用的执行命令行(CommandLine):并通过s ...

  5. 通过WMI接口监控服务器性能

    WMI 是微软操作系统的一个内置的组件,通过使用WMI我们可以获取服务器硬件信息.收集服务器性能数据.操作Windows服务,甚至可以远程关机或是重启服务器. 一.在C#编程中使用WMI 要想在C#程 ...

  6. [问题记录.dotnet]取网卡信息报错"找不到"-WMI - Not found

    异常: System.Management.ManagementException: 找不到     在 System.Management.ManagementException.ThrowWith ...

  7. 使用WMI和性能计数器监控远程服务器权限设置

    应用场景:在web服务器中,通过.NET编码使用WMI查询远程服务器的一些硬件配置信息,使用性能计数器查询远程机器的运行时资源使用情况.在网上没有找到相关的东西,特记录与大家共享. 将web服务器和所 ...

  8. WMI 硬件类简单介绍,默认打印机

    获取默认打印机: SELECT * FROM Win32_Printer WHERE Default=True 常用的几个WMI: 主板:Win32_BaseBoard http://msdn.mic ...

  9. C#:基于WMI查询USB设备信息 及 Android设备厂商VID列表

    /* ---------------------------------------------------------- 文件名称:WMIUsbQuery.cs 作者:秦建辉 MSN:splashc ...

随机推荐

  1. 【iCore3 双核心板_ uC/OS-III】例程五:软件定时器

    实验指导书及代码包下载: http://pan.baidu.com/s/1eSHenjs iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  2. Solved Unable to copy the source file ./installer/services.sh to the destination file /etc/vmware-t

    Sometimes when you intall vmwaretools there will be some problems such as "Unable to copy the s ...

  3. Java初始化生命周期

    package com.init; abstract class Glyph { void draw() { System.out.println("Glyph.draw()"); ...

  4. Linux内核设计第二周——操作系统工作原理

    Linux内核设计第二周 ——操作系统工作原理 作者:宋宸宁(20135315) 一.实验过程 图1 执行效果 从图中可以看出,每执行my_ start_ kernel函数两次或一次,my_ time ...

  5. 针对ajax执行后swiper特效无法执行解决方案

    ajax执行后重新绑定swiper事件.

  6. 关于对于IT我自己的见解以及我踩过的坑(需要认真读文章才能理解我所遇到的坑.)

    终于开始下决心写下这篇文章了. 就在写这篇总结文章的前天还是今天,我度过了我的17岁生日,正式踏入了已成年人的路程.生日那天我在想今夜必定要做件比较有意义的事,于是乎我想到两件比较可以证明自己是成年人 ...

  7. C语言 ---- 基本数据类型和基本运算 iOS学习-----细碎知识点总结

    // 导入头文件(stdio.h),标准输入输出的头文件,#include <stdio.h> // 程序的入口int main(int argc, const char * argv[] ...

  8. 怎样实现excel隔行隔列变色效果的方法

    大家在使用excel的过程中,一定见过别人编排的excel文档,隔行添加单元格背景颜色,也就是通常所说的隔行变色效果.Excel中隔行变色效果的好处是:当在Excel中浏览一个非常大的工作簿中的数据时 ...

  9. Netty之Java堆外内存扫盲贴

    Java的堆外内存本来是高贵而神秘的东西,只在一些缓存方案的收费企业版里出现.但自从用了Netty,就变成了天天打交道的事情,毕竟堆外内存能减少IO时的内存复制,不需要堆内存Buffer拷贝一份到直接 ...

  10. EXCEL导入导出自己整理的一些方法

    //导入Excel代码 protected DataTable ExcelHelper(string filePaht) { string sFilePath2003 = Server.MapPath ...