python寫的用WMI檢測windows系統資訊的指令碼

來源:互聯網
上載者:User

標籤:參考   max   tcp串連   bsp   ber   /usr   size   lan   apt   

 

 

指令碼如下:

 

#!/usr/bin/env python#coding:utf-8import wmiimport sys,time,platformdef 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.BuildNumberdef 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 ()        for interface in 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 :    15063memory_info:    TotalPhysicalMemory :    4011M    SwapTotal :    6656Mdisk_info:    TOSHIBA MQ01ABF050 :    465G    KINGSTON SA400S37120G :    111Gcpu_info:    CpuType :    Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz    CpuCores :    2network_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

 

python寫的用WMI檢測windows系統資訊的指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.