WMI with IronPython

From IronPython Cookbook

(Difference between revisions)
Line 34: Line 34:
     print mo["PercentProcessorTime"]
     print mo["PercentProcessorTime"]
     Thread.Sleep(5000)
     Thread.Sleep(5000)
 +
</pre>
 +
 +
This third example is from [http://artyprog.blogspot.com/2007/12/wmi-ironpython_26.html this blog entry]:
 +
<pre>
 +
import System
 +
import clr
 +
clr.AddReference("System.Management")
 +
import System.Management
 +
 +
def requestWMI(squery,sproperties):
 +
    output = ""
 +
    objMgt = System.Management.ManagementObjectSearcher(squery)
 +
    for result in objMgt.Get():
 +
        output += result.GetPropertyValue(sproperties)
 +
    return output
 +
   
 +
print requestWMI("Select * from Win32_BIOS", "Caption")
</pre>
</pre>
Back to [[Contents]].
Back to [[Contents]].

Revision as of 17:05, 26 December 2007

Examples from Vasta Sutra, of using the managed interface to WMI on the local system.

These examples use objects from the System.Management assembly:

import clr
clr.AddReference("System.Management")
from System.Management import (
    ManagementObject,
    ManagementObjectSearcher
)

mo = ManagementObject("Win32_Processor.DeviceID='CPU0'")
for p in mo.Properties: 
    print p.Name, '=', p.Value

query = ManagementObjectSearcher("Select * from Win32_Processor")
mo = query.Get().GetEnumerator().next()

mo = ManagementObject("Win32_PerfFormattedData_PerfOS_Processor.Name='_total'")
for p in mo.Properties: 
    print p.Name, '=', p.Value


This next example reports CPU usage:

import clr
clr.AddReference("System.Management")
from System.Management  import ManagementObject
from System.Threading import Thread

while True:
    mo = ManagementObject("Win32_PerfFormattedData_PerfOS_Processor.Name='_total'")
    print mo["PercentProcessorTime"]
    Thread.Sleep(5000)

This third example is from this blog entry:

import System
import clr
clr.AddReference("System.Management")
import System.Management

def requestWMI(squery,sproperties):
    output = ""
    objMgt = System.Management.ManagementObjectSearcher(squery)
    for result in objMgt.Get():
        output += result.GetPropertyValue(sproperties)
    return output
    
print requestWMI("Select * from Win32_BIOS", "Caption")


Back to Contents.

TOOLBOX
LANGUAGES