仓酷云

标题: 带来一篇python写的用WMI检测windows体系信息的剧本 [打印本页]

作者: 山那边是海    时间: 2015-1-14 21:04
标题: 带来一篇python写的用WMI检测windows体系信息的剧本
小知识:CentOS从来就不是一个人的独角戏,也许CentOS会有分叉或名称变更的危险,但决不能说它接近死亡。闲来无聊,用python写了一个检测windows体系硬件信息的剧本,重要就是用WMI模块来完成,分享给人人,愿望对人人有所赞助。linux的体系信息直接用shell便可获得,这里不做引见。获得重要检测内容为:体系平台,内存,硬盘硬件信息(具体的之前写了一个,人人参考),CPU信息,网卡信息等。
  1. #!/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[0].TotalPhysicalMemory)/1024/1024print        +"TotalPhysicalMemory:"+        +str(MemTotal)+"M"#tmpdict["MemFree"]=int(os[0].FreePhysicalMemory)/1024SwapTotal=int(pfu[0].AllocatedBaseSize)print        +"SwapTotal:"+        +str(SwapTotal)+"M"#tmpdict["SwapFree"]=int(pfu[0].AllocatedBaseSize-pfu[0].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.IPAddress[0]tmpdict["IPSubnet"]=interface.IPSubnet[0]tmpdict["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)
复制代码
  1. 运转成果以下:
复制代码
小知识:CentOS是基于RedHatEnterpriseLinux(收费昂贵但口碑极佳)的源代码再编译出来的免费版,因此不仅继承RHEL优越的稳定性,还提供免费更新,
作者: 再现理想    时间: 2015-1-16 23:36
标题: 带来一篇python写的用WMI检测windows体系信息的剧本
为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
作者: 简单生活    时间: 2015-1-20 11:26
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
作者: 透明    时间: 2015-1-29 06:58
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
作者: 深爱那片海    时间: 2015-2-6 00:31
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
作者: admin    时间: 2015-2-14 16:36
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
作者: 爱飞    时间: 2015-3-4 09:03
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
作者: 飘灵儿    时间: 2015-3-11 18:09
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
作者: 只想知道    时间: 2015-3-19 07:48
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
作者: 飘飘悠悠    时间: 2015-3-27 16:26
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2