Использование ManagementClass.Getinstances () из IronPython - PullRequest
1 голос
/ 21 марта 2010

У меня есть скрипт 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

Я не понимаю, что не найдено?!? Я полагаю, что мне может понадобиться передать экземпляр ManagementOperationObserver и EnumerationOptions в GetInstance(), однако я не понимаю, почему это так, поскольку метод с подписью Getinstance() доступен в ManagementClass.

1 Ответ

1 голос
/ 21 марта 2010

Я думаю, что единственная проблема в том, что '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)
...