[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

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

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.
0
ZEDA_ISG
Asked:
ZEDA_ISG
  • 3
  • 2
1 Solution
 
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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
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

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

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

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now