Windows dispone de una serie de herramientas ya integradas en el sistema que nos permite realizar la gestión de impresoras. Estas herramientas, que se ejecutan desde línea de comandos, ofrecen una amplia flexibilidad a la hora de realizar la instalación y configuración de impresoras. Entre otras ventajas, permiten realizar labores desatendidas sin necesidad de intervención del usuario o ser empleadas en diversos scripts.
Las herramientas disponibles son:

  1. PowerShell
  2. Scripts .vbs
  3. rundll32
  4. wmic
  5. PnPUtil.exe
  6. PrintBrm.exe

PowerShell

PowerShell ofrece diversos cmdlets para administrar impresoras, controladores, puertos de impresión y colas. Estos cmdlets están incluidos en el móduloo PrintManagement y podemos consultar la lista disponible mediante la ejecución del comando

Get-Command –Module PrintManagement

Ejemplos:

Get-Printer | Format-List Name
Add-PrinterDriver -Name "HP Universal Printing PCL 6" -InfPath "C:archivo_del_driver.inf"
Add-PrinterPort -Name "PORT_192.168.1.10" -PrinterHostAddress "192.168.1.10"

Por otro lado, se puede hacer uso del cmdlet Get-WmiObject con la clase win32_printer para obtener información relacionada con las impresoras:

Get-WmiObject -class win32_printer -ComputerName Nombre_Maquina | Select Caption,Location,PortName,DriverName,PrinterStatus | Out-GridView

Scripts .vbs

En la carpeta %WINDIR%\System32\Printing_Admin_Scripts\<language> (para España <language> es igual a es-ES) se encuentran una serie de scripts cada uno centrado en un aspecto de configuración:

  • Prncnfg.vbs - Configura y muestra información de configuración de una impresora
  • Prndrvr.vbs - Agrega, elimina y enumera controladores de impresora.
  • Prnjobs.vbs - Pausa, reanuda, cancela y enumera los trabajos de impresión.
  • Prnmngr.vbs - Agrega, elimina y enumera impresoras o conexiones de impresora, además de establecer y mostrar la impresora predeterminada.
  • Prnport.vbs - Crea, elimina y enumera los puertos de impresora TCP/IP estándar, además de mostrar y cambiar la configuración del puerto.
  • Prnqctl.vbs - Imprime una página de prueba, pausa o reanuda una impresora y borra una cola de impresora.
  • Pubprn.vbs - Publica una impresora en Active Directory Domain Services.

Ejemplos:

- listar las impresoras existentes:

cscript C:\Windows\System32\Printing_Admin_Scripts\es-ES\prnmngr.vbs -l

- consultar la impresora determinada:

cscript C:\Windows\System32\Printing_Admin_Scripts\es-ES\prnmngr.vbs -g

- crear un puerto de conexión a una impresora de red:

cscript C:\Windows\System32\Printing_Admin_Scripts\es-ES\prnport.vbs -a -r PORT_10.132.133.235 -h 10.132.133.235 -o raw

rundll32

Mediante este ejecutable podemos invocar el código de la librería printui.dll, la cual contiene las funciones que usan las herramientas GUI de Windows para la configuración de impresoras. Podemos ejecutar el comando de cuatro formas diferentes, si bien tienen todas ellas la misma estructura básica:

rundll32 printui.dll,PrintUIEntry [baseparameter] [modificationparameter1] [modificationparameter2] [ModificationParameterN]
rundll32 printui,PrintUIEntry [baseparameter] [modificationparameter1] [modificationparameter2] [modificationparameterN]
rundll32 printui.dll PrintUIEntry [baseparameter] [modificationparameter1] [modificationparameter2] [modificationparameterN]
rundll32 printui PrintUIEntry [baseparameter] [modificationparameter1] [modificationparameter2] [modificationparameterN]

Los parámetros base especifican la función que el comando va a realizar, pudiendo indicarse un solo parámetro de este tipo en cada orden. Luego, cada parámetro base puede modificarse por uno o varios parámetros modificadores. Hay que tener en cuenta que no todos los parámetros modificadores pueden aplicarse a todos los parámetros base.

Ejemplo:

rundll32 printui.dll,PrintUIEntry /ga /if /b "Printer 1" /f "C:\temp\sharp\Spanish\PCL6\64bit\ss0emesp.inf" /r "PORT_IP_10.132.133.235" /m "SHARP MX-M264N PCL6" /z /y

wmic

Aunque la herramienta de la línea de comandos de WMI está en desuso en favor de la utilización de PowerShell aún se puede hacer uso de ella. Por ejemplo, podemos listar las impresoras instaladas:

wmic printer list brief
wmic printer get name,default

PnPUtil.exe

PnPUtil.exe, que se encuentra en el directorio %windir%\system32, es una herramienta de línea de comandos que permite realizar acciones con drivers de impresoras, como puede ser agregar o eliminar un paquete de drivers del almacén de controladores. Los drivers se guardan por defecto en %systemroot%\System32\DriverStore\FileRepository.

PrintBrm.exe

PrintBRM permite realizar copias de seguridad, restaurar y migrar colas de impresión, configuraciones de impresoras, puertos de impresora y monitores de idiomas. Esta herramienta está muy enfocada a la exportación e importación de configuraciones entre servidores de impresión.

El ejecutable se encuentra en la carpeta C:\Windows\System32\spool\tools

En el siguiente enlace se puede consultar una lista de los mismos: PowerShell PrintManagement