美文网首页
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