Solved

How do I include printer settings in a Printer Install VBS?

Posted on 2010-11-23
3
681 Views
Last Modified: 2012-05-10
I have a VBS that deletes an old printer and installs a new Printer, Port, and Driver.  I would like to include in the script some default settings for the printer being installed.  I would like it to default to "Black and White" and to print Duplex.  I had read about using 'PrinterObject', but wasn't sure about how to include it in this script. In the code I am providing as an example , it is deleting a printer named ADPCMFD01 and installing a new one named DOEMFD01.  
'******** Delete old Printer *******

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")



Set colInstalledPrinters =  objWMIService.ExecQuery _

    ("Select * from Win32_Printer where DeviceID = 'ADPCMFD01'")



For Each objPrinter in colInstalledPrinters

    objPrinter.Delete_

Next

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")



Set colInstalledPrinters =  objWMIService.ExecQuery _

    ("Select * from Win32_Printer where DeviceID = 'ADPCMFD01 Fax'")



For Each objPrinter in colInstalledPrinters

    objPrinter.Delete_

Next



strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")



Set colInstalledPorts =  objWMIService.ExecQuery _

    ("Select * from Win32_TCPIPPrinterPort Where Name = 'ADPCMFD01'")



For Each objPort in colInstalledPorts 

    objPort.Delete_

 

Next



'******** Register prnadmin.dll file on client computer *******



Set WshShell = Wscript.CreateObject("Wscript.Shell")



WshShell.Run "regsvr32 /s \\SERVER\tools\Prnadmin.dll",1,TRUE









'************** Create the port first *******************************



dim oPort



dim oMaster



set oPort = CreateObject("Port.Port.1")



set oMaster = CreateObject("PrintMaster.PrintMaster.1")



oPort.PortName = "DOEMFD01"



oPort.PortType = 2  'The type of the port can be 1 (TCP RAW), 2 (TCP LPR), or 3 (standard local)



oPort.HostAddress = "10.36.20.37"



oMaster.PortAdd oPort



If Err <> 0 then



msgbox "There was an error creating the printer."









end if







'********************************************************************



'************** Create the printer second ***************************









dim oPrinter



set oPrinter = CreateObject("Printer.Printer.1")



oPrinter.PrinterName = "DOEMFD01 Savin c4040"		' name of the printer as it appears in the Printers folder



oPrinter.DriverName = "SAVIN C3333 PCL 6"		' name that is referenced in ntprint.inf



oPrinter.PortName = "DOEMFD01"		' Specify a port name. Can also point to LPT or COM port.



oPrinter.DriverPath  = "\\SERVER\PrinterSetup\Drivers\Savin\s46603en\disk1"     'Folder to where the drivers are



oPrinter.InfFile     = "\\SERVER\PrinterSetup\Drivers\Savin\s46603en\disk1\OEMSETUP.INF"     ' Where is my .inf file



oMaster.PrinterAdd oPrinter







oPrinter.PrinterName = "DOEMFD01 FAX"		' name of the printer as it appears in the Printers folder



oPrinter.DriverName = "LAN-Fax M8"		' name that is referenced in ntprint.inf



oPrinter.PortName = "DOEMFD01"		' Specify a port name. Can also point to LPT or COM port.



oPrinter.DriverPath  = "\\SERVER\PrinterSetup\Drivers\Savin\c4040\fax driver\Fax Driver including inf"     'Folder to where the drivers are



oPrinter.InfFile     = "\\SERVER\PrinterSetup\Drivers\Savin\c4040\fax driver\Fax Driver including inf\PRINTER.INF"     ' Where is my .inf file





oMaster.PrinterAdd oPrinter

Open in new window

0
Comment
Question by:ODOTSupport
3 Comments
 
LVL 42

Accepted Solution

by:
Davis McCarn earned 125 total points
ID: 34204864
The problem is that those settings are going to be different for each model (much less make) of printer and my best suggestion is to either use the WshShell.RegWrite functions if the registry changes are trivial or to export the settings after you have set them and then merge the resultant .REG file.
RegWrite: http://www.devguru.com/technologies/wsh/quickref/wshshell_RegWrite.html
Utility to snapshot and find registry changes: http://majorgeeks.com/RegSnap_d532.html
0
 
LVL 38

Expert Comment

by:Herman D'Hondt
ID: 34456663
This question has been classified as abandoned and is being closed as part of the Cleanup Program.  See my comment at the end of the question for more details.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

How to solve seemingly unsolvable printer issues. Users sometimes run into printing issues where all the normal steps do not seem to work. Well the steps below can show users how to take one extra step beyond the normal steps needed to remove old…
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…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

708 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