1

对于初学者,这是我所指的 WMI 模块

我尝试了许多代码组合,并了解如何从命令行中使用 wmic 删除网络打印机,以及对如何在 VB 中使用 wmi 删除网络打印机等有基本的了解,但我仍然无法弄清楚如何在这个 python 模块中这样做。

这个事情谁有经验?我在 Eclipse 中使用 PyDev 进行测试,通常在 Windows 7 机器上(该程序将与 XP 一起使用),但也在 Windows 8 上。

这是我尝试过的一些代码:

import wmi
c = wmi.WMI ()

c.win32_printer("\\\\server\\printer").delete

我收到以下错误:

wmi.x_wmi_invalid_query: <x_wmi: Unexpected COM Error (-2147217385, 'OLE error 0x80041017', None, None)>
4

1 回答 1

1

一位朋友(可能希望保持匿名)找到了解决方案!

for printer in c.win32_printer():
    if printer.DEVICEID == "\\\\server\\printer":
    printer.delete_()

出于某种原因,服务器名称(可能还有打印机名称)似乎区分大小写,因此请注意这一点。我猜这是因为 python 区分大小写,并且它是通过 python 进行比较,而不是 WMI。

于 2013-07-11T03:47:03.610 回答