使用IronPython中的ManagementClass.Getinstances()

时间:2010-03-21 14:50:40

标签: python wmi ironpython

我有一个IronPython脚本,它使用WMI查找当前正在运行的进程。代码如下所示:

import clr
clr.AddReference('System.Management')
from System.Management import ManagementClass
from System import Array
mc = ManagementClass('Win32_Processes')
procs = mc.GetInstances()

我调用GetInstances()方法的最后一行引发了以下错误:

Traceback (most recent call first):
  File "<stdin>", line 1, in <module>
SystemError: Not Found

我不明白什么没找到?!?我相信我可能需要将ManagementOperationObserverEnumerationOptions的实例传递给GetInstance()但是,我不明白为什么会这样,因为带有签名{{1}的方法} Getinstance()中可用。

1 个答案:

答案 0 :(得分:1)

我认为唯一的问题是'Win32_Processes'是'Win32_Process'的拼写错误。这似乎有效:

>>> mc = ManagementClass('Win32_Process')
>>> procs = mc.GetInstances()
>>> for p in procs:
...     print p['Name']
... 
System Idle Process
System
smss.exe
(etc)