Instalación de impresora de red mediante script remoto

Este script, realizado en Visual Basic Script, instala una impresora de red de forma remota.




Consideraciones previas y entorno
  • El usuario que ejecuta el script debe ser administrador de la máquina remota.
  • Es necesaria una carpeta de acceso público donde se alojarán los controladores de la impresora.


Definición de los elementos
  • Impresora de red modelo HP LaserJet 2420
  • Dirección IP: 192.168.5.7
  • Equipo destino: EquipoRemoto
  • Repositorio de drivers: \\Servidor\RepositorioDrivers\HPLaserJet2420\
  • Driver (para este caso): UNIDRV.dll
Script:

' Almacenar el nombre del equipo en la variable strComputer
strComputer = "EquipoRemoto"

' Instanciar y establecer el objeto que permite la impersonación como administrador en la maquina remota.
Set objWMIService = GetObject("winmgmts:" _
      & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

' Instanciar Puertos.
Set objNewPort = objWMIService.Get ("Win32_TCPIPPrinterPort").SpawnInstance_
' Instanciar Impresoras.
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
' Instanciar Driver Impresoras.
Set objDriver = objWMIService.Get("Win32_PrinterDriver")

''''''''''''' INSTALAR PUERTO DE IMPRESIÓN ''''''''''''''''''''''''''''

' Establecer nombre de puerto de la impresora.
objNewPort.Name = "IP_192.168.5.7"
' Protocolo utilizado.
objNewPort.Protocol = 1
' Direccion IP de la impresora.
objNewPort.HostAddress = "192.168.5.7"
' Número de puerto usado por la impresora.
objNewPort.PortNumber = "9100"

 ' Ejecutar la instalación del puerto.
objNewPort.Put_

' Control de errores
' Si se produce algún error en la generación del puerto mostrará 

' en pantalla el código del error
If Err.Number <> "0" Then
        Wscript.echo "Número de error: " & Err.Number
        Err.Clear        wscript.sleep 1000
        wscript.quit (0)
end if

 ''''''''''''' INSTALAR DRIVER IMPRESORA '''''''''''''''''''''''''''''''

' Establecer el nombre del nuevo driver.
objDriver.Name = "HP LaserJet"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
' Establecer la ruta de repositorio de los controladores
objDriver.DriverPath = "\\Servidor\RepositorioDrivers\HPLaserJet2420\UNIDRV.DLL"
intResult = objDriver.AddPrinterDriver(objDriver)

''''''''''''' INSTALAR IMPRESORA '''''''''''''''''''''''''''''''''''''

' Establecer la direccion IP de la impresora / puerto.
objPrinter.PortName = "IP_192.168.5.7"
' Establecer el nombre de la impresora.
objPrinter.DeviceID = "HP LaserJet 2420"
' Añadir un descriptivo de la ubicación.
objPrinter.Location = "Departamento de Administración"
' Identificar la impresora como impresora de red.
objPrinter.Network = True

' Añadir un comentario.
objprinter.comment = "No imprime a color"
' Definir si se  quiere compartir la impresora.
'objPrinter.Shared = True

' Establecer un nombre para la impresora compartida.
objPrinter.ShareName = "ImpAdmon"
' Ejecutar la instalación de la impresora.
objPrinter.Put_

' Control de errores
If Err.Number <> "0" Then
        Wscript.echo  "Número de error: " & Err.Number
        Err.Clear        wscript.sleep 1000
        wscript.quit (0)
end if

 ''''''''''''' ESTABLECER IMPRESORA COMO PREDETERMINADA '''''''''''''''''

' Establece la impresora añadida como predeterminada.
' Da un error si la impresora es única en el equipo aunque crea la impresora.
objPrinter.SetDefaultPrinter()

No hay comentarios:

Publicar un comentario