Printer script

It is quite common that we have to install printers for our users on a daily basis.

All the printers are HP and have a IP address assigned to them.

Is it possible to create a script that you could run on an individuals machine that would install a particular printer with the correct IP?

The drivers are located on the server so the files could be taken from there. I understand that you would probably need a script for each model but this would save us a lot of time in the future.

Is it possible? Can anyone create a script for this?

Many thanks in advance.
ZEDA_ISGAsked:
Who is Participating?
 
ZEDA_ISGAuthor Commented:
Thank you for the reply.

I was actually looking for a printer script that would assign the IP address of the printer, not a script where it looks for it on the servre, i.e.:

WSHNetwork.SetDefaultPrinter "\\ServerName\PrinterName"
    End Select

The process I would like to be created by a script (if possible) is this process:

Add Printer > A local printer > Create New Port > Standard TCP/IP Port

The script will then assign the correcr IP for this printer and install the printer drivers
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
ZEDA_ISGAuthor Commented:
The above links didn't actually work but part of it was amended to make it work.

This may help someone else.

Here is the script I have got to work:

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

set objNewPort = objWMIService.get("Win32_TCPIPPrinterPort").SpawnInstance_
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Set objDriver = objWMIService.Get("Win32_PrinterDriver")

objDriver.Name = "HP LaserJet 2100 Series PS"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.FilePath = "\\servername\drive\Drivers\PrintDrivers\HP\HP 2100TN PS"
objDriver.Infname = "\\servername\drive\Drivers\PrintDrivers\HP\HP 2100TN PS\HP2100PS.INF"
intResult = objDriver.AddPrinterDriver(objDriver)


'Installs Printer Port
objNewPort.Name = "PRINTERNAME"
objNewPort.Protocol = 1
objNewPort.HostAddress = "172.16.xx.xxx"
objNewPort.PortNumber = 9100
objNewPort.SNMPEnabled = True
objNewPort.Put_


'Install Printer
objPrinter.DriverName = "HP LaserJet 2100 Series PS"
objPrinter.PortName = "PRINTERNAME"
objPrinter.DeviceID = "PRINTERNAME"
objPrinter.Put_
0
 
michkoCommented:
I've found most scripts need some "tweaking" for an individual location/functionality.  Glad I was able to refer you to some that were adaptable to your circumstances.

michko
0
 
khelaCommented:
Hi there ZEDA_ISG

is the above script working for remote computers??
espacially this part that i'm intrested to know if it's working or not

objDriver.FilePath = "\\servername\drive\Drivers\PrintDrivers\HP\HP 2100TN PS"
objDriver.Infname = "\\servername\drive\Drivers\PrintDrivers\HP\HP 2100TN PS\HP2100PS.INF"

did that manage to install the printer driver on a remote computer?
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.

All Courses

From novice to tech pro — start learning today.