Link to home
Start Free TrialLog in
Avatar of thunder88
thunder88Flag for United States of America

asked on

vb Script

I need a script which could do the following

Create a TCP/IP port for Printer xx.xx.xx.xx
Install a UPD PCL 6 driver
and give prompt once the driver is installed.

Thanks
Avatar of dax_bad
dax_bad
Flag of Denmark image

try this script
''   Script to automate TCP/IP printer installs ''

Set WSHNetwork = WScript.CreateObject("WScript.Network")

set shell = WScript.CreateObject( "WScript.Shell" )

CompName = shell.ExpandEnvironmentStrings("%COMPUTERNAME%")

Set objWMIService = GetObject("winmgmts:\\" & CompName & "\root\cimv2")

Set objNewPort = objWMIService.Get("Win32_TCPIPPrinterPort").SpawnInstance_

Set oShell = WScript.CreateObject("WScript.shell")

Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_



sub createPort (name, ip)

    objNewPort.Name = name

    objNewPort.Protocol = 1

    objNewPort.HostAddress = ip

    objNewPort.SNMPEnabled = False

    objNewPort.Put_

end sub



sub addPrinter (driver, port, name)

    objPrinter.DriverName = driver

    objPrinter.PortName = port

    objPrinter.DeviceID = name

    objPrinter.Location = "EHN RM219"

    objPrinter.Network = True

    objPrinter.Shared = false

    objPrinter.ShareName = ""

    objPrinter.Put_

end sub

createPort "RM 206 HP4050", "10.17.106.150"

addPrinter "HP LaserJet 4100 Series PS","RM 206 HP4100","RM 206 HP4100"

msgbox ("Printer installation complete.  Don't Forget to make it the default printer")

Open in new window

Avatar of thunder88

ASKER

and where is it going to get the driver from...

please send me where can I add path to the driver.
I am trying the this script, but this only creates the port but doesn't install the driver can you please tell me what I am doing wrong in it.
On Error Resume Next 
 
'SETS 'LOAD DRIVER' PRIVILEGE. 
 
 
    Set objWMIService = GetObject("Winmgmts:") 
 
    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True 
 
 
'SETS PRINTER PORT. 
 
 
    Set objNewPort = objWMIService.Get _ 
        ("Win32_TCPIPPrinterPort").SpawnInstance_ 
 
    objNewPort.Name = "IP_10.1.10.16" 
 
    objNewPort.Protocol = 1 
 
    objNewPort.HostAddress = "10.1.10.16" 
 
    objNewPort.PortNumber = "9100" 
 
    objNewPort.SNMPEnabled = False 
 
    objNewPort.Put_ 
 
 
'SETS PRINTER TO PORT. 
 
 
    strComputer = "." 
	Set objWMIService = GetObject("winmgmts:" _ 
		& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
	objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True 
 
	Set objDriver = objWMIService.Get("Win32_PrinterDriver") 
	set objShell = CreateObject("Wscript.Shell") 
 
    objDriver.Name = "HP Universal Printing PCL 6" 
	objDriver.SupportedPlatform = "Windows NT x86" 
	objDriver.Version = "3" 
 
    objPrinter.PortName   = "IP_10.1.10.16" 
 
    objPrinter.DeviceID   = "HPLaserJet_4350_Staff1" 
 
    objPrinter.Location = "Staff1" 
 
    objDriver.DriverPath = "C:\Documents and Settings\xyz\My Documents\Downloads\upd-PCL6-X32-5_2_6_9321" 
	
	objDriver.Infname = "C:\Documents and Settings\xyz\My Documents\Downloads\upd-PCL6-X32-5_2_6_9321\hpcu112c.inf" 
	
	intResult = objDriver.AddPrinterDriver(objDriver)

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of dax_bad
dax_bad
Flag of Denmark image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I fixed it by my own
well of course you have to download the drivers, put it on a local or network path and refer to that in the script.
I have to work around by my own