仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1095|回复: 9
打印 上一主题 下一主题

[CentOS(社区)] 带来一篇python写的用WMI检测windows体系信息的剧本

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:04:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识: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:24 | 只看该作者

带来一篇python写的用WMI检测windows体系信息的剧本

为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
简单生活 该用户已被删除
板凳
发表于 2015-1-20 11:26:31 | 只看该作者
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
透明 该用户已被删除
地板
发表于 2015-1-29 06:58:32 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 00:31:24 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
admin 该用户已被删除
6#
发表于 2015-2-14 16:36:37 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
爱飞 该用户已被删除
7#
发表于 2015-3-4 09:03:28 | 只看该作者
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
飘灵儿 该用户已被删除
8#
发表于 2015-3-11 18:09:11 | 只看该作者
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
只想知道 该用户已被删除
9#
发表于 2015-3-19 07:48:02 | 只看该作者
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-27 16:26:56 | 只看该作者
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表