Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

VBScript Remove Printer not working

Posted on 2009-07-15
8
Medium Priority
?
3,184 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:jdhackett
ID: 24861414
Is there an err.escription like in normal vb?
0
 
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 2000 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

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

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

In this article we want to have a look at the directory attributes which are used by Microsoft to store the so called Security Identifiers (SID). These SIDs plays an important role in delegating and granting permissions and in authentication of trus…
This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

704 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