![无法在 Windows 7 中通过脚本删除网络打印机](https://linux22.com/image/1324746/%E6%97%A0%E6%B3%95%E5%9C%A8%20Windows%207%20%E4%B8%AD%E9%80%9A%E8%BF%87%E8%84%9A%E6%9C%AC%E5%88%A0%E9%99%A4%E7%BD%91%E7%BB%9C%E6%89%93%E5%8D%B0%E6%9C%BA.png)
我尝试过删除几台网络打印机,但rundll32 printui.dll, PrintUIEntry /dn /dd /q /n \\SERVER\PRINTER
也尝试过/dl
,但没有成功
和
WSHNetwork.RemovePrinterConnection "\\\Server\Printer",True,True
我已经在不同的用户配置文件上远程和本地运行了脚本,并且脚本似乎运行时没有错误,但打印机从未被删除,它们仍然在那里!
如果用户右键单击打印机,他们可以通过单击“删除设备”将其删除。
想知道是否有其他人见过这个问题Windows 7的。我唯一能想到的就是这是一个 UAC 问题。
答案1
好的,那我们来尝试一下:
1)您必须先停止打印后台处理程序:
start -> run -> cmd
type in: net stop spooler
2)关注此链接卸载打印机
3)重新启动打印后台处理程序
start -> run -> cmd
type in: net start spooler
现在,希望这能帮助你解决问题
答案2
这是我过去使用过的(VBsript):
'----------------------------------------------------
'Remove all Network printers but not local printers
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set Printers = WshNetwork.EnumPrinterConnections
For i = 0 to Printers.Count - 1 Step 2
If Left(ucase(Printers.Item(i+1)),2) = "\\" Then
WScript.Echo Printers.Item(i+1)
WSHNetwork.RemovePrinterConnection Printers.Item(i+1)
End IF
Next
希望能帮助到你!