VBScript para instalar impresora con IP

Iniciado por msanarev, 30 Enero 2019, 11:49 AM

0 Miembros y 1 Visitante están viendo este tema.

msanarev

Buenos días,

Necesitaría saber si hay alguna forma de poder instalar impresoras con IP remotamente sin necesidad de tener el driver instalado en los equipos. Es decir, que el mismo script señalando la ruta del driver instale la impresora. Hasta ahora, tengo el script que me instala todas las impresoras pero tengo que tener instalado el driver o una de ellas:

' Indicación de la IP

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

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

Set objNewPort = objWMIService.Get _

    ("Win32_TCPIPPrinterPort").SpawnInstance_

objNewPort.Name = "X"

objNewPort.Protocol = 1

objNewPort.HostAddress = "XXX.XXX.XXX.XXXX"

objNewPort.PortNumber = "9100"

objNewPort.SNMPEnabled = False

objNewPort.Put_

'Indicación del nombre exacto del driver

Set objWMIService = GetObject("winmgmts:" _

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

objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True

Set objDriver = objWMIService.Get("Win32_PrinterDriver")

objDriver.Name = "Nombre exacto del driver

objDriver.SupportedPlatform = "Windows 10"

objDriver.Version = "3.0"

objDriver.DriverPath = "\\XXX\publico\temporal\Drivers Impresoras\Kyocera FS 2100d\FS-2100D Windows 10 64 bits\KyoceraClassicUniversalDriver_v3.0_Signed\KyoceraClassicUniversalPCL6_v3.0"

objDriver.Infname = "\\XXX\publico\temporal\Drivers Impresoras\Kyocera FS 2100d\FS-2100D Windows 10 64 bits\KyoceraClassicUniversalDriver_v3.0_Signed\KyoceraClassicUniversalPCL6_v3.0\OEMsetup.inf"

intResult = objDriver.AddPrinterDriver(objDriver)

'Instalación impresora

Set objWMIService = GetObject("winmgmts:" _

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

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

objPrinter.DriverName = "Nombre exacto del driver"

objPrinter.PortName   = "XXX.XXX.XXX.XXX"

objPrinter.DeviceID   = "X"

objPrinter.Location = "XX"

objPrinter.Network = True

objPrinter.Put_


¿Saben de alguna forma que sea más directa?

Gracias.