python在win7中不能运行_Python WMI调用不能在Windows 7下运行

我在

Windows 7下使用

Python中的WMI(通过win32com)遇到了一个棘手的问题.我无法找到解决方案.

这是我的代码:

from win32com.client import GetObject

def get_printers(computer):

""" Get a list of printers from the specified computer name. """

wmiservice = GetObject(r"winmgmts:{impersonationLevel=impersonate}!\\" + computer + r"\root\cimv2")

return wmiservice.ExecQuery("Select * from Win32_Printer")

for printer in get_printers("ps2"):

print printer.Name

这在Windows XP下运行良好.但是如果我在Windows 7下运行它会失败:

Traceback (most recent call last):

File "C:\Python27\Lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 325, in RunScript

exec codeObject in __main__.__dict__

File "C:\Python27\sample\temp2.py", line 8, in

for printer in get_printers("ps2"):

File "C:\Python27\sample\temp2.py", line 5, in get_printers

wmiservice = GetObject(r"winmgmts:{impersonationLevel=impersonate}!\\" + computer + r"\root\cimv2")

File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 72, in GetObject

return Moniker(Pathname, clsctx)

File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 87, in Moniker

moniker, i, bindCtx = pythoncom.MkParseDisplayName(Pathname)

com_error: (-2147024891, 'Access is denied.', None, None)

我在Win 7中尝试了所有我能想到的:禁用防火墙(无病毒扫描程序),确保启用DCOM,确保启用WMI以及禁用UAC.任何帮助都会受到高度赞赏.

注意:我在Windows 7 Ultimate x86(和Windows XP SP3)下使用Python 2.7.1和pywin32 build 215.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值