Solved

Remove printer by command line (script) on several machines

Posted on 2008-06-11
7
7,509 Views
Last Modified: 2011-10-19
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
Comment
Question by:peshih7
7 Comments
 
LVL 5

Expert Comment

by:pbeirne
ID: 21761640
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
 

Author Comment

by:peshih7
ID: 21761715
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
 

Author Comment

by:peshih7
ID: 21761792
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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 5

Accepted Solution

by:
pbeirne earned 400 total points
ID: 21762305
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
 
LVL 5

Expert Comment

by:pbeirne
ID: 21762548
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
 

Expert Comment

by:Exirtis
ID: 23692937
I have found that the following script works great:

RUNDLL32 printui.dll,PrintUIEntry /n \\server\printer.name /dl
0
 

Expert Comment

by:neerjajha
ID: 34902188
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

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
When you try to share a printer , you may receive one of the following error messages. Error message when you use the Add Printer Wizard to share a printer: Windows could not share your printer. Operation could not be completed (Error 0x000006…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…
Delivering innovative fully-managed cloud services for mission-critical applications requires expertise in multiple areas plus vision and commitment. Meet a few of the people behind the quality services of Concerto.

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now