[python-win32] How to enumerate a WMI object to discover its properties?
python at bdurham.com
python at bdurham.com
Thu Mar 4 19:19:57 CET 2010
Hi Tim,
Thanks to your help, here's what I'm using to record interesting
information about our workstation inventory. It works great!
c = wmi.WMI().Win32_ComputerSystem
computer = c()[0]
for propertyName in sorted( list( c.properties ) ):
print '%s = %s' % ( propertyName, getattr( computer,
propertyName, '' ) )
For those searching the archives, the same technique can be used to
capture BIOS info as well using the following replacement line.
c = wmi.WMI().Win32_BIOS
Thank you very much for your help and for all your Win32
contributions!!!
Cheers,
Malcolm
----- Original message -----
From: "Tim Golden" <mail at timgolden.me.uk>
To:
Cc: "zz Python Win32 Newsgroup" <python-win32 at python.org>
Date: Thu, 04 Mar 2010 08:49:28 +0000
Subject: Re: [python-win32] How to enumerate a WMI object to discover
its properties?
On 04/03/2010 06:38, python at bdurham.com wrote:
> Is there a way to enumerate a WMI object's properties to discover
> what they are vs. having to explictly reference properties by
> name?
Assuming I understand the question, a quickie shortcut is
just to "print" the object:
<code>
import wmi
c = wmi.WMI ()
for s in c.Win32_ComputerSystem ():
print s
</code>
but in fact each object also holds a list of its own properties:
<code>
import wmi
c = wmi.WMI ()
print list (c.Win32_ComputerSystem.properties)
print list (c.Win32_ComputerSystem.methods)
or you can do the same with an instance:
for s in c.Win32_ComputerSystem ():
print list (s.properties)
</code>
More information about the python-win32
mailing list