Solved

VBScript Remove Printer not working

Posted on 2009-07-15
8
3,025 Views
Last Modified: 2012-05-07
I have a script for a while now, which runs when a user logs on.
It adds printers and sets the default. Users are running Windows XP.

Now I want to remove a printer, but I can't get it work.
When I try
objNetwork.RemoveWindowsPrinterConnection strUNCPrinter
I get the error
"Object doesn't support this property or method:RemoveWindowsPrinterConnection"

This happens no matter which printer I try to remove, so its not an error in my printername.
Any ideas?
Option Explicit
 

Dim objnetwork, strUNCPrinter
 

Set objNetwork = CreateObject("WScript.Network")
 

' This works

strUNCPrinter = "\\myprinterserver\W4-HPLJP3005"

objNetwork.AddWindowsPrinterConnection strUNCPrinter

objNetwork.SetDefaultPrinter strUNCPrinter
 

' This doesn't

strUNCPrinter = "\\myprinterserver\W3-HPLJ4200"

objNetwork.RemoveWindowsPrinterConnection strUNCPrinter
 

Set objNetwork = Nothing

Open in new window

0
Comment
Question by:jdhackett
  • 4
  • 4
8 Comments
 
LVL 6

Expert Comment

by:ou_dober
ID: 24860969
I noticed that objNetwork.RemoveWindowsPrinterConnection should be objNetwork.RemovePrinterConnection.  Give that a try.

Option Explicit
 

Dim objnetwork, strUNCPrinter
 

Set objNetwork = CreateObject("WScript.Network")
 

strUNCPrinter = "\\myprinterserver\W4-HPLJP3005"

objNetwork.AddWindowsPrinterConnection strUNCPrinter

objNetwork.SetDefaultPrinter strUNCPrinter
 

strUNCPrinter = "\\myprinterserver\W3-HPLJ4200"

objNetwork.RemovePrinterConnection strUNCPrinter
 

Set objNetwork = Nothing

Open in new window

0
 
LVL 1

Author Comment

by:jdhackett
ID: 24861082
Thanks. RemovePrinterConnection does work.
However, it will give an error if the printer if already removed.
How can I do error handling, so that this message is suppressed?
0
 
LVL 6

Expert Comment

by:ou_dober
ID: 24861118
Add this after Line 6 to the code provided above.

On Error Resume Next

On Error GoTo 0

Open in new window

0
 
LVL 1

Author Comment

by:jdhackett
ID: 24861414
Is there an err.escription like in normal vb?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 6

Expert Comment

by:ou_dober
ID: 24861678
jdhackett,

I am not clear on what you are asking.  Are you wanting to display an error message?
0
 
LVL 1

Author Comment

by:jdhackett
ID: 24867396
Sorry, I could have put that a lot better!
I'd still like an error message displayed if there is an issue when the printers are added.
So that the user will call me and I can investigate.
However, I don't want the message when I'm removing printers.
Is there a way to do that? Thanks for your great help so far.
0
 
LVL 6

Accepted Solution

by:
ou_dober earned 500 total points
ID: 24873867
Just put the error suppression after the adding of the printer. I also added a error message that can be changed if the default printer does not install.  Is that better?  :)

ou_dober

Option Explicit

 

Dim objnetwork, strUNCPrinter

 

Set objNetwork = CreateObject("WScript.Network")

 

strUNCPrinter = "\\myprinterserver\W4-HPLJP3005"

objNetwork.AddWindowsPrinterConnection strUNCPrinter

objNetwork.SetDefaultPrinter strUNCPrinter

    If Err.Number Then

        Wscript.Echo "W4-HPLJP3005 could not be installed"

        Err.Clear

    End If
 
 

On Error Resume Next

On Error GoTo 0

 

strUNCPrinter = "\\myprinterserver\W3-HPLJ4200"

objNetwork.RemovePrinterConnection strUNCPrinter

 

Set objNetwork = Nothing

Open in new window

0
 
LVL 1

Author Comment

by:jdhackett
ID: 24876592
Great work!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Welcome to part one of a multi-part tutorial series, VBScript for Windows System Administrators.  The goal of this series is to teach non-programmers how to write useful VBS code to automate their environment, and perform tasks faster, and in a more…
Hello again, all.  For those of you that have been following along, you'll know that this is my third article on this topic (though it is not Part III).  This article is sort of remedial, and probably the topic with which I should have started the s…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

863 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

16 Experts available now in Live!

Get 1:1 Help Now