当前位置:首页 > Python教程 > python技巧

python写的用WMI检测windows系统信息的脚本

 

 

脚本如下:

 

#!/usr/bin/env python
#coding:utf-8


import wmi
import sys,time,platform

def get_system_info(os):
    """
    获取操作系统版本。
    """
    print
    print "Operating system:"if os == "Windows":
        c = wmi.WMI ()
        for sys in c.Win32_OperatingSystem():
            print t + "Version :t%s" % sys.Caption.encode("UTF-8")
            print t + "Vernum :t%s" % sys.BuildNumber

def get_memory_info(os):
    """
    获取物理内存和虚拟内存。
    """
    print
    print "memory_info:"if os == "Windows":
        c = wmi.WMI ()
        cs = c.Win32_ComputerSystem()
        pfu = c.Win32_PageFileUsage()
        MemTotal = int(cs[0].TotalPhysicalMemory)/1024/1024
        print t + "TotalPhysicalMemory :" + t + str(MemTotal) + "M"
        #tmpdict["MemFree"] = int(os[0].FreePhysicalMemory)/1024
        SwapTotal = int(pfu[0].AllocatedBaseSize)
        print t + "SwapTotal :" + t + str(SwapTotal) + "M"
        #tmpdict["SwapFree"] = int(pfu[0].AllocatedBaseSize - pfu[0].CurrentUsage)

def get_disk_info(os):
    """
    获取物理磁盘信息。
    """
    print
    print "disk_info:"if os == "Windows":
        tmplist = []
        c = wmi.WMI ()
        for physical_disk in c.Win32_DiskDrive():
            if physical_disk.Size:
                print t + str(physical_disk.Caption) +  :t + str(long(physical_disk.Size)/1024/1024/1024) + "G"

def get_cpu_info(os):
    """
    获取CPU信息。
    """
    print
    print "cpu_info:"if os == "Windows":
        tmpdict = {}
        tmpdict["CpuCores"] = 0
        c = wmi.WMI ()
        for cpu in c.Win32_Processor():
            tmpdict["CpuType"] = cpu.Name
        try:
            tmpdict["CpuCores"] = cpu.NumberOfCores
        except:
            tmpdict["CpuCores"] += 1
            tmpdict["CpuClock"] = cpu.MaxClockSpeed
        print t + CpuType :t + str(tmpdict["CpuType"])
        print t + CpuCores :t + str(tmpdict["CpuCores"])


def get_network_info(os):
    """
    获取网卡信息和当前TCP连接数。
    """
    print
    print "network_info:"if os == "Windows":
        tmplist = []
        c = wmi.WMI ()
        forinterfacein c.Win32_NetworkAdapterConfiguration (IPEnabled=1):
                tmpdict = {}
                tmpdict["Description"] = interface.Description
                tmpdict["IPAddress"] = interface.IPAddress[0]
                tmpdict["IPSubnet"] = interface.IPSubnet[0]
                tmpdict["MAC"] = interface.MACAddress
                tmplist.append(tmpdict)
        for i in tmplist:
            print t + i["Description"]
            print t + t + "MAC :" + t + i["MAC"]
            print t + t + "IPAddress :" + t + i["IPAddress"]
            print t + t + "IPSubnet :" + t + i["IPSubnet"]
        for interfacePerfTCP in c.Win32_PerfRawData_Tcpip_TCPv4():
                print t + TCP Connect :t + str(interfacePerfTCP.ConnectionsEstablished)

if __name__ == "__main__":
    os = platform.system()
    get_system_info(os)
    get_memory_info(os)
    get_disk_info(os)
    get_cpu_info(os)
    get_network_info(os)

 

执行结果:

            Operating system:
    Version :    Microsoft Windows 
            10
             家庭中文版
    Vernum :    
            15063
            

memory_info:
    TotalPhysicalMemory :    4011M
    SwapTotal :    6656M

disk_info:
    TOSHIBA MQ01ABF050 :    465G
    KINGSTON SA400S37120G :    111G

cpu_info:
    CpuType :    Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
    CpuCores :    2

network_info:
    Realtek RTL8723BE Wireless LAN 802.11n PCI-E NIC
        MAC :    60:6D:C7:8D:28:8D
        IPAddress :    192.168.0.103
        IPSubnet :    255.255.255.0
    TCP Connect :    54

 

 

参考:http://blog.51cto.com/wangwei007/1033760

 

原文:https://www.cnblogs.com/zhongguiyao/p/8997925.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐