I have created a printer script, but I want to add the printer setting to the script, Using Multi Feeder etc. But I need to get an export from one Network printer from WMI
The script
On Error Resume next
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("H:\printers.txt", ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
Printconfig = Split(strNextLine , ",")
Wscript.Echo "Store name: " & Printconfig(0)
For i = 1 to Ubound(Printconfig)
Wscript.Echo "Store IP4 Address " & Printconfig(i)
strComputer = "Servername"
strDriverName = "Lexmark Universal PS3" 'This needs to match exactly with what is in the INF
strDriverFilePath = "\\Servername\C$\windows\system32\spool\drivers\x64\3" 'do I need to explain this?
strDriverINF = strDriverFilePath & "NTPRINT.INF"
strPortName = "IP_" + Printconfig(1)'this is just an example. you can name it what you want
strPortAddress = PrintConfig(1) 'this is just an example, use ip address or dns name
strPrinterName = PrintConfig(0)'name it whatever you want
strShare=PrintConfig(0)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 'Connect to WMI COM object on the target.
'Install the printer driver
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.FilePath= strDriverFilePath
objDriver.Infname = strDriverINF
objDriver.AddPrinterDriver(objDriver)
'Create a new Standard TCP/IP port with HP Jet Direct Settings
Set objNewPort = objWMIService.Get("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = strPortName
objNewPort.Protocol = 1
objNewPort.HostAddress = strPortAddress
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
'Create a new printer using the newly installed printer driver and port
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName
objPrinter.DeviceID = strPrinterName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = True
objPrinter.Docompletefirst = True
objPrinter.ShareName = strShare
objPrinter.Put_
Next
Loop