Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1085
  • Last Modified:

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

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
diegomirner
Asked:
diegomirner
  • 6
  • 5
1 Solution
 
fishadrCommented:
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
 
fishadrCommented:
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
 
diegomirnerAuthor Commented:
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
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
fishadrCommented:
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
 
diegomirnerAuthor Commented:
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
 
fishadrCommented:
'==========================================================
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
 
diegomirnerAuthor Commented:
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
 
fishadrCommented:
Sorry, replace the line:
Set oPrinters = WshNetwork.EnumPrinterConnections

with:
Set oPrinters = ObjNetwork.EnumPrinterConnections
0
 
diegomirnerAuthor Commented:
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
 
fishadrCommented:
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
 
diegomirnerAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now