• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 7551
  • Last Modified:

Remove printer by command line (script) on several machines

Hi,

We are about to phase out a few of our network printers and replace them with new ones.  Currently we can deploy all the new printers to users without problems but the old printers still remain in their printer lists.

How can I make a script to remove ONLY these certain printers from each users PC?

Printer names:
HPPrinter1
HPCopier2

OS:
XP

High points b/c this needs to be done asap
0
peshih7
Asked:
peshih7
1 Solution
 
pbeirneCommented:
If they are network printers you can try this in a .vbs file

' Begin Code
Option Explicit
Dim objNetwork, strPrinter1, strPrinter2
strPrinter1 = "\\server\HPPrinter1"
strPrinter2 = "\\server\HPCopier2"

Set objNetwork = CreateObject("WScript.Network")
objNetwork.RemovePrinterConnection strPrinter1
objNetwork.RemovePrinterConnection strPrinter2

Wscript.Quit

0
 
peshih7Author Commented:
Script worked great.  Are there any permissions issues with this?  Will my users (domain users) be able to run this if I use it as a login script?

Thanks
0
 
peshih7Author Commented:
Ok so script worked but I ran into this problem.

If any one of the printers is already removed the script throws and error and does not resume to the other printers, how can I make the script continue even on error.

If I can make it so the error doesnt display that would be great too.

Error is attached
Picture-14.png
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
pbeirneCommented:
put the following line at the top of the script:

On Error Resume Next

Let me know if that takes care of your errors.  I've only used scripts to remove one printer or all printers, so to remove a couple of specific printers requires a little tweaking of the script.

I've got another script I am modifying to delete your two specific printers we can try if this one doesn't work.  Let me know.
0
 
pbeirneCommented:
Here's an alternative script that should handle errors and user rights.  Obviously change the path to your printers for strPrinter1 & 2.

'Begin Script
strComputer = "."
strPrinter1 = "\\server\HPPrinter1"
strPrinter2 = "\\server\HPCopier2"

Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
 
Set colPrinters = objWMI.ExecQuery("Select * From Win32_Printer")  
 
For Each objPrinter in colPrinters  
 
on error resume next  
 
If Lcase(objPrinter.name) = Lcase(strPrinter1) Then  
 
Set objNetwork = CreateObject("Wscript.Network")  
 
objNetwork.RemovePrinterConnection strPrinter1  
 
Else  
 
If Lcase(objPrinter.name) = Lcase(strPrinter2) Then  
 
Set objNetwork = CreateObject("Wscript.Network")  
 
objNetwork.RemovePrinterConnection strPrinter2  
 
End If  
 
End If  
 
Next
'End Script
0
 
ExirtisCommented:
I have found that the following script works great:

RUNDLL32 printui.dll,PrintUIEntry /n \\server\printer.name /dl
0
 
neerjajhaCommented:
I have a remote mahcine and it has a network printer installed. I would to to delete that network printer from that machine. How I can do so remotely?
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now