Windows下的WMI程序
Windows Management Instrumentation(WMI)是Windows驱动程序模型的一组扩展,提供了一个操作系统界面,通过该界面,检测组件可以提供信息和通知。WMI允许脚本语言(如VBScript)在本地和远程管理Microsoft Windows个人计算机和服务器。WMI预安装在Windows Vista,Windows Server 2003,Windows XP,Windows Me和Windows 2000中。
打开WMI服务界面
在开始-运行,输入services.msc,进入服务
wmi启动.png
启动界面:
WMI.png
本文介绍如何使用Python访问WMI,并假定您已经下载并安装了pywin32扩展模块和WMI Python模块。WMI是基于pywin32库的扩展库,并且暴露了一些Python友好的界面,以适应有时凌乱的WMI脚本API。pywin32库运行依赖于相应的MSVC环境,同时,python版本需要与MSVC一致。
连接
连接本地主机:
import wmi
c = wmi.WMI()
如果是连接其他主机,需要添加该主机名参数:
import wmi
c = wmi.WMI("other_machine")
查询
wmi模块最常见的用处就是对系统的信息进行查询:
import wmi
c = wmi.WMI()
for os in c.Win32_OperatingSystem():
print os.Caption
'''
输出:
Microsoft Windows 7 旗舰版
'''
查询磁盘详细信息:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import wmi
def toGB(size):
return str(long(size)/1024**3) + "GB"
def disk():
c = wmi.WMI ()
#获取硬盘分区
for physical_disk in c.Win32_DiskDrive ():
for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"):
for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"):
print physical_disk.Caption, partition.Caption, logical_disk.Caption
disks = wmi.WMI ().Win32_LogicalDisk ()
disk()
for d in disks:
print d.Caption,\
"TotalSize:",toGB(d.Size),\
"FreeSize:",toGB(d.FreeSpace),\
"FreeRate:%0.2f%%"%(100.0 * long (d.FreeSpace) / long (d.Size))
网友评论