带来一篇python写的用WMI检测windows体系信息的剧本
小知识:CentOS从来就不是一个人的独角戏,也许CentOS会有分叉或名称变更的危险,但决不能说它接近死亡。闲来无聊,用python写了一个检测windows体系硬件信息的剧本,重要就是用WMI模块来完成,分享给人人,愿望对人人有所赞助。linux的体系信息直接用shell便可获得,这里不做引见。获得重要检测内容为:体系平台,内存,硬盘硬件信息(具体的之前写了一个,人人参考),CPU信息,网卡信息等。#!/usr/bin/envpython#-*-coding:utf-8-*-importwmiimportsys,time,platformdefget_system_info(os):"""获得操作体系版本。"""printprint"Operatingsystem:"ifos=="Windows":c=wmi.WMI()forsysinc.Win32_OperatingSystem():print +"Version: %s"%sys.Caption.encode("GBK")print +"Vernum: %s"%sys.BuildNumberdefget_memory_info(os):"""获得物理内存和虚拟内存。"""printprint"memory_info:"ifos=="Windows":c=wmi.WMI()cs=c.Win32_ComputerSystem()pfu=c.Win32_PageFileUsage()MemTotal=int(cs.TotalPhysicalMemory)/1024/1024print +"TotalPhysicalMemory:"+ +str(MemTotal)+"M"#tmpdict["MemFree"]=int(os.FreePhysicalMemory)/1024SwapTotal=int(pfu.AllocatedBaseSize)print +"SwapTotal:"+ +str(SwapTotal)+"M"#tmpdict["SwapFree"]=int(pfu.AllocatedBaseSize-pfu.CurrentUsage)defget_disk_info(os):"""获得物理磁盘信息。"""printprint"disk_info:"ifos=="Windows":tmplist=[]c=wmi.WMI()forphysical_diskinc.Win32_DiskDrive():ifphysical_disk.Size:print +str(physical_disk.Caption)+: +str(long(physical_disk.Size)/1024/1024/1024)+"G"defget_cpu_info(os):"""获得CPU信息。"""printprint"cpu_info:"ifos=="Windows":tmpdict={}tmpdict["CpuCores"]=0c=wmi.WMI()forcpuinc.Win32_Processor():tmpdict["CpuType"]=cpu.Nametry:tmpdict["CpuCores"]=cpu.NumberOfCoresexcept:tmpdict["CpuCores"]+=1tmpdict["CpuClock"]=cpu.MaxClockSpeedprint +CpuType: +str(tmpdict["CpuType"])print +CpuCores: +str(tmpdict["CpuCores"])defget_network_info(os):"""获得网卡信息和以后TCP衔接数。"""printprint"network_info:"ifos=="Windows":tmplist=[]c=wmi.WMI()forinterfaceinc.Win32_NetworkAdapterConfiguration(IPEnabled=1):tmpdict={}tmpdict["Description"]=interface.Descriptiontmpdict["IPAddress"]=interface.IPAddresstmpdict["IPSubnet"]=interface.IPSubnettmpdict["MAC"]=interface.MACAddresstmplist.append(tmpdict)foriintmplist:print +i["Description"]print + +"MAC:"+ +i["MAC"]print + +"IPAddress:"+ +i["IPAddress"]print + +"IPSubnet:"+ +i["IPSubnet"]forinterfacePerfTCPinc.Win32_PerfRawData_Tcpip_TCPv4():print +TCPConnect: +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)
运转成果以下:
小知识:CentOS是基于RedHatEnterpriseLinux(收费昂贵但口碑极佳)的源代码再编译出来的免费版,因此不仅继承RHEL优越的稳定性,还提供免费更新,
带来一篇python写的用WMI检测windows体系信息的剧本
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。 上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题. 尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助. 我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。 编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。 通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。 linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
页:
[1]