0

我已经为 python 和 pywin32 扩展安装了 WMI,以便能够从我的 python 脚本中使用 win32 api。虽然我可以从 Win32_Battery、Win32_Processor 等其他分类中获取所有信息,但我在 Win32_Tpm 类上遇到了困难。

我想在 python 中使用 Win32_Tpm 模块来玩转各种 tpm 功能,但是我对 win32_tpm 的所有引用都返回 null。

有没有人能够毫无问题地使用它。任何帮助将不胜感激。

我的代码很简单:

import wmi,sys,os

c = wmi.WMI()

for tpm in c.Win32_Tpm():
    pass

if tpm.IsActivated():
    print 'Version %s' %(tpm.SpecVersion)
    print 'Physical presence %s' %(tpm.PhysicalPresenceVersionInfo)
4

1 回答 1

0

感谢蒂姆·戈尔登。我找到了答案。

请参考线程

http://mail.python.org/pipermail/python-win32/2012-June/012381.html

如果上面的链接无法访问,这是我们需要做的,因为 Win32_Tpm() 属于单独的命名空间,我们需要指定命名空间的完整路径。希望这可以帮助。

import os
import wmi
import win32api
import _winreg

c = wmi.WMI(namespace="root/cimv2/security/microsofttpm")
for t in c.Win32_Tpm():
  pass

print t.IsActivated()

if t.IsActivated():
  print 'Activated %s' %(t.IsActivated_InitialValue)
  print 'Enabled %s' %(t.IsEnabled_InitialValue)
  print 'Owned %s' %(t.IsOwned_InitialValue)
  print 'Version %s' %(t.SpecVersion)
  print 'Manufaturer %s' % (t.ManufacturerVersion)
  print 'Manufaturer %s' % (t.ManufacturerVersionInfo) 
  print 'Physical presence %s' %(t.PhysicalPresenceVersionInfo)
  print 'prashant'
于 2012-06-20T13:39:49.997 回答