Solved

vbs script need help to delete all printer to add new ones in actual printers script by gpo's

Posted on 2008-06-24
11
1,072 Views
Last Modified: 2010-04-21
Dear Experts,

I need help in order to modify my actual scrip to be available to delete all printers and publish new ones.I havo no expericence with vbs , could you provide an easy way to modify it ??
all pc's runs windows xp prof
here my actual script , thanks in advance :
scrip :


'
' Printers.vbs - Windows Logon Script.
Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection "\\data0\CanonIR"
objNetwork.AddWindowsPrinterConnection "\\data0\CommBrot"
objNetwork.AddWindowsPrinterConnection "\\data0\CommHPColor"
0
Comment
Question by:diegomirner
  • 6
  • 5
11 Comments
 
LVL 15

Expert Comment

by:fishadr
ID: 21855893
The original code is correct:
Set objNetwork = CreateObject("Wscript.Network")
objNetwork.AddWindowsPrinterConnection "\\data0\CanonIR"

You can set the default printer using the following command:
objNetwork.SetDefaultPrinter "\\data0\CanonIR"

and reomve a printer connection using this:
objNetwork.RemovePrinterConnection "\\data0\CanonIR"
0
 
LVL 15

Expert Comment

by:fishadr
ID: 21855946
You can also use the following code to list all your printers (if you want to delete the printers then you can replace the wscript.echo section with objNetwork.RemovePrinterConnection :

  Set WshNetwork = WScript.CreateObject("WScript.Network")
         Set oPrinters = WshNetwork.EnumPrinterConnections
         WScript.Echo "Network printer mappings:"
         For i = 0 to oPrinters.Count - 1 Step 2
            WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1)
         Next
0
 

Author Comment

by:diegomirner
ID: 21863705
thanks for that , now im geting this error :
in line 3
Error: object required :'objnetwork'
code: 800A01A8

here the new scrip to delete all printers:

'
' Printers.vbs - Windows Logon Script.
objNetwork.RemovePrinterConnection "\\data0\CanonIR"
objNetwork.RemovePrinterConnection "\\data0\CommBrot"
objNetwork.RemovePrinterConnection "\\data0\CommHPColor"
objNetwork.RemovePrinterConnection "\\data0\fell1320tn"
objNetwork.RemovePrinterConnection "\\data0\FinanBrother"
objNetwork.RemovePrinterConnection "\\data0\MembBrother"
objNetwork.RemovePrinterConnection "\\data0\Finan_Jean"
objNetwork.RemovePrinterConnection "\\data0\BrotherConf"
objNetwork.RemovePrinterConnection "\\data0\BrotherHealt"
objNetwork.RemovePrinterConnection "\\data0\BrotherExecD"
objNetwork.RemovePrinterConnection "\\data0\BrotherMem2"
objNetwork.RemovePrinterConnection "\\data0\XeroxDat"
objNetwork.RemovePrinterConnection "\\data0\BrothConf2"
objNetwork.RemovePrinterConnection "\\data0\BotherHealthCare1"
objNetwork.RemovePrinterConnection "\\data0\PRINTER_14_A"


and them i will create the new one with all new path.
DO you think thats its ok ?
or should i do only one withh all inside ?
i dont know exactly manage with the deletion , should i live it until all users logon ?
could it couse error on logon if all printer has all ready deleted ?
0
 
LVL 15

Expert Comment

by:fishadr
ID: 21863820
You have missed settings the ObjNetwork option at the start:
Set WshNetwork = WScript.CreateObject("WScript.Network")

You may have to add the line:
On Error Resume Next

To stop error messages in relation to deleting printers that do not exist, alternatively if you ue the EnumPrinterConnections subroutine I provided this will only remove printers that are connected on the client and would  not error, it would also remove printers that are not in the remove list provided
0
 

Author Comment

by:diegomirner
ID: 21864007
i will like to use enum + with your subrutine , but i will neen an example about it becouse im lost, can you provide me and ex of the whole script ?
thanks
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 15

Expert Comment

by:fishadr
ID: 21864261
'==========================================================
Set objNetwork = CreateObject("Wscript.Network")
'==========================================================
' ENUMERATE PRINTER CONNECTIONS AND DELETE THEM
Set oPrinters = WshNetwork.EnumPrinterConnections
On Error Resume Next
For i = 0 to oPrinters.Count - 1 Step 2
  objNetwork.RemovePrinterConnection oPrinters.Item(i+1),true,true
Next
On Error Goto 0
'==========================================================
' ADD THE PRINTERS THAT YOU NEED
objNetwork.AddWindowsPrinterConnection "\\data0\CanonIR"
objNetwork.AddWindowsPrinterConnection "\\data0\CommBrot"
objNetwork.AddWindowsPrinterConnection "\\data0\CommHPColor"
0
 

Author Comment

by:diegomirner
ID: 21864482
i try it , but i have an error at  this line :

Set oPrinters = WshNetwork.EnumPrinterConnections

here all the script i have try , please advice if you see the error , thanks

'
' Printers.vbs - Windows Logon Script.
Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection "\\data0\CanonIR"
objNetwork.AddWindowsPrinterConnection "\\data0\CommBrot"
objNetwork.AddWindowsPrinterConnection "\\data0\CommHPColor"


'==========================================================
Set objNetwork = CreateObject("Wscript.Network")
'==========================================================
' ENUMERATE PRINTER CONNECTIONS AND DELETE THEM
Set oPrinters = WshNetwork.EnumPrinterConnections
On Error Resume Next
For i = 0 to oPrinters.Count - 1 Step 2
  objNetwork.RemovePrinterConnection oPrinters.Item(i+1),true,true
Next
On Error Goto 0
'==========================================================
' ADD THE PRINTERS THAT YOU NEED
objNetwork.AddWindowsPrinterConnection "\\data0\CanonIR"
objNetwork.AddWindowsPrinterConnection "\\data0\CommBrot"
objNetwork.AddWindowsPrinterConnection "\\data0\CommHPColor"
0
 
LVL 15

Expert Comment

by:fishadr
ID: 21864557
Sorry, replace the line:
Set oPrinters = WshNetwork.EnumPrinterConnections

with:
Set oPrinters = ObjNetwork.EnumPrinterConnections
0
 

Author Comment

by:diegomirner
ID: 21864680
exelent works , but i have a new error :

in one of the printers it gibes me :

the printer driver is unknown
code 80070705
source:null

its strange , normaly it should take the drive from theserver , any idea ?
0
 
LVL 15

Accepted Solution

by:
fishadr earned 500 total points
ID: 21864739
If you receive this error you need to follow the instructions here to add the printer via the Run32dll method:

http://support.microsoft.com/kb/297454
0
 

Author Closing Comment

by:diegomirner
ID: 31470089
well , that looks to complicate for me today , maybe tomorrow , any ways , your solution has work so thanks a lor.
Now i will add a post in order to solve an other problem regarding the same scrip , but this time i need to be sure that all rpinters will work with A4 format, houpe you there to take over of it.
thanks again
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

This may not be a text book method to resolve VSS backup issues but it seemed to have worked on few of the Windows 2003 servers we had issues while performing a Volume Shadow Copy backup. If you have issues while performing a shadow copy backup usin…
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

760 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

18 Experts available now in Live!

Get 1:1 Help Now