Esta entrada se divide en dos partes, la primera es listar las impresoras de RED del equipo en Windows XP, y la segunda parte es la instalación de las impresoras listadas pero en un equipo Windows 7, mediante scripts. A grandes rasgos se usa la rama del registro para encontrar las impresoras instaladas.
En esta primera parte, listamos las impresoras de red instaladas desde el mismo equipo cliente Windows XP.
En el siguiente código se configura el acceso a la rama del registro, en el caso de hacerse en remoto la variable “strcomputer” sería el nombre del equipo remoto. Y se fija la ruta desde donde empezar a recorrer el registro, con la variable “strKeyPath”.
El siguiente código, usa un primer bucle “For each” para recorrer la rama del registro a partir de donde se ha indicado anteriormente con la variable “strKeyPath”, con el que listamos el número de impresoras de red, y el nombre asignado. Para descartar el resto de impresoras de que no son de red usamos un bucle “if” con todas las opciones que queremos descartar; USB, LPT1,… incluso las que vienen por defecto en el equipo (Fax, XPS, …).
Cada rama del registro de cada impresora, obtenemos el valor de los registros “Printer Driver” e “IPAddress”, se corresponden al driver usado y a la dirección IP, respectivamente. Al final, guardando estos datos en un fichero tendremos los datos necesarios para su posterior instalación. Este paso lo veremos con el siguiente script.
En esta segunda parte, se instalan las impresoras de Red a partir de unos datos. Estos datos son nombre de impresora, dirección IP, nombre del puerto y driver usado.
En el siguiente código, creamos subrutinas para crear el puerto y añadir la impresora de red. La primera subrutina crea el puerto de la impresora de red, con el nombre del puerto y la dirección IP de la impresora de Red. La segunda subrutina añade la impresora de red con el driver usado, nombre del puerto y nombre de la impresora de red. Estas subrutinas se usan dentro del bucle “Do until”
En el siguiente código, se va leyendo de un fichero con los datos de impresoras en cada línea se guardan los datos de cada impresora. Se lee una línea para instalar cada impresora, cada dato esta separa por “;”, en el orden de: NombreDeImpresora; NombreDePuerto; DirecciónIP; DriverImpresora.
Se activa el modo “On Error Resume Next” para que en el caso de error en la instalación de una impresora, se sigan instalando el resto de impresoras listadas. Primero se crea el puerto de la impresora con la subrutina “createPort” y después se añade la impresora con la subrutina “addprinter”, que requiere tener el puerto de la impresora creado. Cualquier error en la instalación queda registrado.
Este método de instalar impresoras de red, precisa usar drivers universales o compatibles, es decir, validos tanto en sistemas operativos Windows XP y Windows 7.