powcwmi#

PythonからWindowsのWMIを使いやすくするパッケージです。powcパッケージに依存します。

このパッケージは一部の関数をテストしていません。特にWMIインスタンスのメソッド呼び出しは注意してください。

ROOT/CIMV2名前空間のWMIクラスを列挙する。#

from operator import attrgetter

from powcwmi import WBEMLocator

locator = WBEMLocator.create()
server = locator.connect_server(r"root\cimv2")

for cls in sorted(server.create_classenum(None, shallow=False), key=attrgetter("classname")):
    print(cls.classname)

Win32_ComputerSystemのメソッド名を取得する。#

from pprint import pp

from powcwmi import WBEMLocator

locator = WBEMLocator.create()
service = locator.connect_server(r"root\cimv2")

for instance in service.create_instanceenum("Win32_ComputerSystem", shallow=False):
    cls = service.get_object(instance.classname or "")
    pp(cls.methodnames_all)

Win32_ComputerSystemのSystemFamilyプロパティを取得する。#

from pprint import pp

from powcwmi import WBEMLocator

locator = WBEMLocator.create()
service = locator.connect_server(r"root\cimv2")

for instance in service.create_instanceenum("Win32_ComputerSystem"):
    pp((instance.get("SystemFamily").value.to_str(), instance.get("SystemSKUNumber").value.to_str()))

ROOT名前空間直下の名前空間名を取得する。#

from powcwmi import WBEMLocator

locator = WBEMLocator.create()
server = locator.connect_server("root")

for cls in sorted(server.create_instanceenum("__Namespace"), key=lambda cls: str(cls.get("Name").value)):
    print(cls.get("Name").value)