Solved

VBScript Remove Printer not working

Posted on 2009-07-15
8
3,059 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
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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 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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

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

Question has a verified solution.

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

Welcome back!  My apologies for taking so long to write part two of this series; it's been a long time coming!  As I promised in Part 1, this article will focus on how to locate those elusive AD properties that you are searching for.  Why is this us…
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…

828 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