美文网首页
wmi.py在Windows中应用

wmi.py在Windows中应用

作者: PPMac | 来源:发表于2017-12-08 16:58 被阅读76次

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))

相关文章

网友评论

      本文标题:wmi.py在Windows中应用

      本文链接:https://www.haomeiwen.com/subject/kbueixtx.html