Instale impresoras de red a través de archivo por lotes o línea de comandos en Windows 7/8 y Server 2008

Como administrador de escritorio, me gusta automatizar tantas tareas como sea posible. Recientemente, necesitaba automatizar la instalación de impresoras de red en un entorno Windows 7 y Windows Server 2008. Después de revisar algunos manuales, encontré una solución para instalar impresoras TCP / IP a través de un archivo por lotes. En este tutorial, describiré el script VBS que utilizaremos para la creación de puertos, y también describiré el uso de rundll32 para instalar controladores de impresión de forma silenciosa y para crear impresoras.

Los sistemas operativos modernos de Windows, como Windows 7, Windows 8 y Windows Server 2008, tienen excelentes herramientas y utilidades de scripting integradas. Sin embargo, la mayoría de los usuarios no son conscientes de estas habilidades. La guía a continuación incluye un archivo example.txt que incluirá el script genérico. También contiene una explicación de cada paso y cómo adaptar el script a su propio entorno.

Los siguientes artículos se utilizan como ejemplos:

- Una computadora en la red 192.168.1.x
- Un HP Laserjet M603 con dirección IP estática de 192.168.1.200
- Una cuenta de usuario que puede ejecutar scripts VBS (administrador o capacidades de script determinadas)

1.Descargue el controlador de impresora adecuado para la impresora que va a instalar. En este ejemplo, estoy usando el controlador de impresión universal HP (PCL6) ya que funciona con casi todas las impresoras HP. Asegúrese de descargar el paquete más reciente en el sitio web de HP.

2. Una vez descargado, use 7-zip u otra herramienta de descompresión para extraer los paquetes de controladores. En realidad no queremos instalarlos. Solo queremos extraerlos.

3. Vuelva a la carpeta donde extrajo el paquete del controlador. Ahora, debemos averiguar qué archivo .inf contiene el controlador que necesitamos instalar y también el nombre de la impresora en el archivo .inf del controlador. Para hacer esto, podemos instalar la impresora en una computadora y luego ir a Propiedades de la impresora y la pestaña Avanzadas para localizar el nombre del controlador. Entonces solo necesitamos encontrar el archivo .inf que se usa.

En nuestro ejemplo de HP, iremos a la carpeta UPD y luego a la carpeta PCL. Aquí, usaremos el archivo hpcu118c.inf, y en él, vemos que HP Universal Printing PCL 6 es el nombre del controlador.

4. Descargue y abra el archivo example.txt con Notepad o cualquier visor de texto.

Aquí veremos lo siguiente:

cscript% WINDIR% \ System32 \ Printing_Admin_Scripts \ en-US \ Prnport.vbs -a -r IP_192.168.1.200 -h 192.168.1.200 -o raw -n 9100


rundll32 printui.dll, PrintUIEntry / ia / m "HP Universal Printing PCL 6" / f "C: \ printers \ HPUPD \ PCL \ hpcu118c.inf"


rundll32 printui.dll, PrintUIEntry / if / b “HP PRINTER1” / f "C: \ printers \ HPUPD \ PCL \ hpcu118c.inf" / r "IP_192.168.1.200” / m "HP Universal Printing PCL 6"

La primera línea que comienza con "cscript" usa un script VBS incorporado para crear el puerto de impresora TCP / IP en la computadora que coincida con la dirección IP de la impresora.

La segunda línea utiliza rundll32 para instalar el controlador de impresión HP Universal PCL 6. El nombre detrás de / m variará según el fabricante / controlador de la impresora y la forma en que se hace referencia en el archivo .inf apropiado. La ubicación / f también variará dependiendo de dónde tengas archivos. También puede usar rutas UNC o unidades de red asignadas (por ejemplo, / f “\ servername \ folder \ hpupd \ pcl \ hpcu118c.inf”).

Finalmente, la tercera línea usa rundll32 e printui.dll para crear la impresora real en el sistema. El nombre detrás de / b es lo que verá en Dispositivos e impresoras y en programas cuando imprima. El / f será la misma ubicación que usó en la línea anterior, y el puerto detrás de / r será el que creó en la primera línea.

5. Finalmente, cambie el nombre de example.txt a example.bat y luego ejecútelo para probar. Siempre sugiero probar en una máquina que no sea de producción, si es posible. Su archivo por lotes puede tener tantas impresoras como desee en él. Mis archivos por lotes típicos tienen de cuatro a 24 impresoras.

6. Las automatizaciones adicionales pueden incluir copiar la carpeta del controlador en el script usando xcopy o robocopy. Esto también se puede usar con suites de implementación de aplicaciones como SCCM o Zenworks para impulsar las instalaciones de impresión en entornos corporativos.