Python WMI

Python012

Python WMI,第1张

1.wmi 拒绝访问 或者 未开启RPC服务,需要在目标机服务上开启 wmi服务才可以

2.<x_wmi: Unexpected COM Error (-2147221008, '尚未调用 CoInitialize。', None, None)>

添加

然后令 self.conn = wmi.WMI(computer=device_ip, user=user, password=password)

3.如果wmi拒绝访问并且服务都开启了,那就很大可能是访问用户的管理员权限不够,不要以为管理员就有管理员权限了

(1).win+R 运行

(2). 输入gpedit.msc

(3).计算机配置-》window设置-》安全设置-》本地策略-》安全选项

(4). 网络访问:本地账户共享和安全模型设置为经典

用户账户控制:以管理员批准模式运行所有管理员 设置为禁止

权限问题一般这四步就差不多了

本文实例讲述了python使用wmi模块获取windows下硬盘信息的方法。分享给大家供大家参考。具体实现方法如下:

# -*- coding: utf-8 -*-

#import

########################################################################

import os, sys

import time

import wmi

########################################################################

#function

########################################################################

def get_disk_info():

"""

获取物理磁盘信息。

"""

tmplist = []

c = wmi.WMI ()

for physical_disk in c.Win32_DiskDrive ():

tmpdict = {}

tmpdict["Caption"] = physical_disk.Caption

tmpdict["Size"] = long(physical_disk.Size)/1024/1024/1024

tmplist.append(tmpdict)

return tmplist

def get_fs_info() :

"""

获取文件系统信息。

包含分区的大小、已用量、可用量、使用率、挂载点信息。

"""

tmplist = []

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

tmpdict = {}

tmpdict["Caption"] = logical_disk.Caption

tmpdict["DiskTotal"] = long(logical_disk.Size)/1024/1024/1024

tmpdict["UseSpace"] = (long(logical_disk.Size)-long(logical_disk.FreeSpace))/1024/1024/1024

tmpdict["FreeSpace"] = long(logical_disk.FreeSpace)/1024/1024/1024

tmpdict["Percent"] = int(100.0*(long(logical_disk.Size)-long(logical_disk.FreeSpace))/long(logical_disk.Size))

tmplist.append(tmpdict)

return tmplist

if __name__ == "__main__":

disk = get_disk_info()

print disk

print '--------------------------------------'

fs = get_fs_info()

print fs

希望本文所述对大家的Python程序设计有所帮助。