运用Python操纵WMI,最大的难点并不在于怎样编写Python语句,而在于假如获知想要查询的内容在哪一个称号空间以及对应的类和属性。而这些内容则须要查阅官方文档以及运用wbemtest举行探究。获得了这些必要的信息后,再去编写Python代码就是一件异常轻松的事变。
一经常使用的例子:
import wmi
from win32com.client import GetObject
wmi的称号空间,猎取当前计算机的称号空间:
from win32com.client import GetObject
import pywintypes
def enum_namespace(name):
try:
wmi = GetObject('winmgmts:/' + name)
namespaces = wmi.InstancesOf('__Namespace')
for namespace in namespaces:
enum_namespace('{name}/{subname}'.format(name=name,subname=namespace.Name))
except pywintypes.com_error:
print(name, 'limit of authority')
else:
print(name)
enum_namespace('root')
猎取硬盘信息
c = wmi.WMI()
i = 0
for disk in c.Win32_LogicalDisk (DriveType=3):
#print(disk)
b = disk.Caption
a = round(int(disk.Size) / (1024*1024*1024), 2)
i =round(i + a, 2)
print(b,'容量为:',a,'GB',end='\n')
print('硬盘的总容量为:',i,'GB')
猎取CPU信息与内存信息,操纵体系版本,计算机序列号
c = wmi.WMI()
for cpu in c.Win32_Processor():
aa = cpu.Name
print('CPU型号为:',aa)
for memory in c.CIM_Chip():
bb = round(int(memory.Capacity) / (1024*1024*1024))
print('内存大小为:',bb,"GB")
for sy in c.CIM_OperatingSystem():
cc = sy.Caption
print("操纵体系版本为:",cc)
cc1 =sy.CSName
print('计算机名为:',cc1)
for sn in c.Win32_BIOS():
dd = sn.SerialNumber
print('计算机产品编号为:',dd)
检察当地连接网卡(有线网卡)MAC地点
c = wmi.WMI()
for zz in c.Win32_NetworkAdapter():
zz1 = '当地'
zz2 = zz.NetConnectionID
if zz2 == None: #python中单等号为赋值,双等号为前提推断. python if语句不允许赋值再推断.
continue #none,continue 是为了空值时能够继承实行,否则为失足。
elif zz1 in zz2:
zz3 = zz.MACAddress
print('当地网卡物理地点为:',zz3)
猎取当地网卡MAC地点的另一种写法。(更加友爱一些。)
from win32com.client import GetObject
wmi = GetObject('winmgmts:/root/cimv2')
# wmi = GetObject('winmgmts:') #更简朴的写法
pro = wmi.ExecQuery('Select * from Win32_NetworkAdapter where NetConnectionID like "当地%"') #WQL语句中like用%婚配背面的字符
for p in pro:
print('当地网卡MAC地点为:', p.MACAddress)
检察体系历程列表:
c = wmi.WMI()
for zz in c.Win32_Process():
cap = zz.Caption
print(cap)
检察已装置软件列表:
c = wmi.WMI()
for zz in c.Win32_Product():
cap = zz.Caption
print(cap)
检察已装置补丁列表:
c = wmi.WMI()
for zz in c.Win32_QuickFixEngineering():
na = zz.HotFixID
print(na)
以上就是python怎样导入wmi的细致内容,更多请关注ki4网别的相干文章!