Python WMI查询超时?

时间:2013-11-22 17:29:04

标签: python wmi

我正在数百到数千台计算机上进行批量信息收集。它在我正在尝试的99%的机器上工作,但有些计算机的行为非常奇怪。

我可以成功连接一台计算机(Windows XP),但在查询时它会完全锁定。 15分钟后我停止了等待。

我的代码:

log.info("Connecting to " + remote_name + " WMI")
remote_connection = wmi.connect_server(server=remote_name,security_flags=0x80,impersonation_level="Impersonate")
log.info("Linking to WMI remote")
remote_wmi = wmi.WMI(wmi=remote_connection)
log.info("Connected")

log.debug("Getting workstation type")
for s in remote_wmi.Win32_ComputerSystem():
    self.logger.debug("Past the query!")
    compInfo["Workstation make"] = s.Manufacturer.strip()

在日志中我得到了

12:21:12 PM [dump-COMPNAME] INFO - Connecting to COMPNAME WMI
12:21:16 PM [dump-COMPNAME] INFO - Linking to WMI remote
12:21:16 PM [dump-COMPNAME] INFO - Connected
12:21:16 PM [dump-COMPNAME] DEBUG - Getting workstation type

永远不要“过去查询!”。没有异常被抛出。它只是卡住了。

如何在60秒后将查询超时而不是永久冻结?是另一种选择吗?

我发现的唯一的事情是this,但它是C#

0 个答案:

没有答案