Conocer las distintas formas de imprimir desde la línea de comandos es una habilidad extremadamente útil. En este artículo repasamos todas las posibilidades que existen para imprimir desde Windows usando CMD (símbolo del sistema) y PowerShell.
No solo veremos los comandos fundamentales, sino que también aprenderás a gestionar servidores de impresión, automatizar tareas, solucionar problemas frecuentes y emplear módulos avanzados. Tienes por delante una guía de referencia indispensable, bien ilustrada, que desglosa la teoría y la práctica para que puedas sacarle el máximo partido a tu sistema.
¿Por qué imprimir desde CMD o PowerShell?
El uso de la línea de comandos para imprimir en Windows sigue siendo una necesidad real en muchos entornos, a pesar de la predominancia de las interfaces gráficas. Los administradores de sistemas y usuarios avanzados recurren a estos métodos por varias razones clave:
- Automatización: Permite enviar trabajos de impresión de manera programada o mediante scripts, vital para oficinas, centros de datos o empresas que manejan gran volumen de documentos.
- Solución de problemas: Cuando la GUI falla, la línea de comandos puede ser la salvación para cancelar trabajos, reiniciar servicios o ejecutar impresiones complejas.
- Despliegue y gestión remota: Fundamental en entornos empresariales para unir impresoras, gestionar drivers o compartir impresoras en red sin tener que ir puesto por puesto.
- Flexibilidad y control: Ofrece opciones avanzadas y un control más preciso sobre el proceso de impresión.
Dicho esto, veamos qué hay que hacer para imprimir desde CMD y PowerShell en Windows.
Métodos clásicos para imprimir desde CMD en Windows
La línea de comandos de Windows (CMD) ofrece distintas formas de enviar archivos a la impresora, especialmente útiles para archivos de texto y algunas imágenes. Vamos a conocer los métodos más usados y su sintaxis básica.
El comando PRINT en CMD
Quizá el método más tradicional y sencillo para imprimir archivos de texto desde CMD sea el comando PRINT
. Es un comando que ha acompañado a Windows desde sus inicios y que sigue disponible en las versiones actuales, como Windows 10, 11 y las ediciones de Server.
- Sintaxis básica:
PRINT archivo
- Ejemplo simple:
PRINT documento.txt
— Este comando envía documento.txt a la impresora predeterminada. - Especificar impresora: Puedes elegir la impresora con
/D:
, por ejemplo,PRINT /D:HP_LaserJet documento.txt
Este comando es robusto para textos y soporta múltiples archivos a la vez. Sin embargo, no está pensado para imprimir imágenes ni documentos con formato complejo (PDF, DOCX, etc.).
Imprimir imágenes con la línea de comandos
Uno de los problemas habituales surge cuando necesitas imprimir una imagen (por ejemplo, PNG o JPG) desde CMD. Aunque el comando PRINT no lo soporta directamente, puedes apoyarte en herramientas nativas como MSPaint:
- Usa el comando:
mspaint /pt <FICHERO> <IMPRESORA>
- Ejemplo:
mspaint /pt imagen.png
— Imprime imagen.png en la impresora predeterminada. - Si quieres elegir impresora:
mspaint /pt imagen.png HP_LaserJet
Este truco es sencillo y eficaz para la mayoría de las imágenes, y suele funcionar perfectamente en Windows 10 y versiones modernas.
Imprimir desde PowerShell: potencia y flexibilidad
PowerShell es la herramienta de línea de comandos más moderna y poderosa de Windows, pensada para administración avanzada, scripts y automatización. Su aproximación a la impresión es mucho más versátil y permite trabajar tanto con archivos como con objetos complejos en Windows. Veamos los comandos más importantes:
Out-Printer: el cmdlet esencial
El cmdlet Out-Printer
es el equivalente en PowerShell para enviar cualquier salida, archivo o contenido a la impresora. Solo funciona en plataformas Windows y carece de opciones avanzadas de configuración de impresión, pero es muy potente para tareas cotidianas.
- Sintaxis:
Out-Printer <String>]
- Si no especificas -Name, usará la impresora predeterminada.
¿Cómo se utiliza?
-
- Imprimir el contenido de un archivo de texto:
Get-Content -Path ./informe.txt | Out-Printer
-
- Imprimir una cadena de texto en una impresora concreta (por ejemplo, remota):
"Hola, mundo" | Out-Printer -Name "\\Servidor\NombreImpresora"
-
- Imprimir la ayuda de un cmdlet:
$ayuda = Get-Help -Full Get-Process Out-Printer -InputObject $ayuda
Out-Printer no muestra salida en pantalla ni devuelve objetos. Simplemente pasa el contenido a la impresora.
Imprimir archivos complejos: limitaciones y alternativas
Al igual que sucede con el comando PRINT en CMD, Out-Printer está diseñado para archivos de texto y no para documentos gráficos o formatos como PDF, DOCX o imágenes. Para imprimir estos tipos de archivos, es recomendable emplear aplicaciones como Acrobat, Word o visores de imágenes que admitan impresión mediante línea de comandos, o invocar programas externos desde PowerShell.
Automatización y administración avanzada con PowerShell
Una de las grandes ventajas de PowerShell es la capacidad de automatizar la gestión de impresoras y colas de impresión mediante scripts. Puedes, por ejemplo, instalar roles de impresión, añadir y gestionar impresoras, actualizar drivers y compartir recursos de forma remota.
Ejemplo básico para instalar el rol de servidor de impresión:
Install-WindowsFeature -Name Print-Server
Después de instalar el rol, suele ser necesario reiniciar el servidor:
Restart-Computer
Gestión integral de la impresión en Windows con PowerShell
Configurar y administrar impresoras desde PowerShell es clave en redes empresariales o entornos con múltiples dispositivos. A continuación te explico cómo gestionar cada aspecto del proceso, desde drivers hasta colas compartidas.
Listar y comprobar drivers e impresoras
- Ver drivers instalados:
Get-PrinterDriver
- Listar impresoras disponibles:
Get-Printer
Estos comandos son fundamentales para comprobar qué tienes instalado y asegurarte de que la impresora que quieres utilizar está correctamente configurada.
Instalación de drivers de impresora desde la línea de comandos
Si tu impresora requiere un driver específico (algo muy común), debes descargar el controlador del fabricante previamente. Para instalarlo:
- Utiliza
pnputil
:pnputil.exe -i -a "C:\Ruta\al\driver.inf"
Si la instalación se completa correctamente, verás los mensajes «Total attempted» y «Number successfully imported» con el mismo número.
Añadir e instalar el driver en el servidor de impresión
- Ejecuta:
Add-PrinterDriver -Name "Nombre del driver"
- Por ejemplo:
Add-PrinterDriver -Name "HP Universal Printing PCL 6"
Esto asocia el controlador al servidor y lo deja listo para vincularlo a la impresora física o virtual que vayas a compartir.
Configurar y añadir el puerto de la impresora
- Para impresoras en red (TCP/IP):
Add-PrinterPort -Name "10.1.1.123" -PrinterHostAddress "10.1.1.123"
Así, el servidor sabrá cómo comunicarse con la impresora a través de la red.
Crear la cola de impresión, compartirla y publicarla
Para que todos los usuarios de la red puedan ver e imprimir en la nueva impresora, debes crear la cola compartida:
Add-Printer -Name "ImpresoraOficina" -DriverName "HP Universal Printing PCL 6" -Shared -ShareName "ImpresoraOficina" -PortName "10.1.1.123" -Published
- -Name: Nombre local de la impresora.
- -DriverName: El controlador cargado.
- -Shared: La hace disponible en red.
- -ShareName: Nombre visible para los usuarios de la red.
- -PortName: El puerto configurado (normalmente la IP).
- -Published: Publica la cola en el directorio.
Tras ejecutar el comando, puedes verificar que todo está en orden con Get-Printer
y comprobar desde el panel “Impresoras y Escáneres”.
Módulo UniversalPrintManagement: gestión avanzada desde PowerShell
Para quienes utilizan servicios de impresión en la nube o buscan una automatización aún mayor, el módulo UniversalPrintManagement de PowerShell es una herramienta potentísima. Permite administrar y automatizar todos los recursos relacionados con la impresión universal de Microsoft, orientado sobre todo a empresas con integración en Azure.
Instalación del módulo UniversalPrintManagement
- Instala el módulo:
Install-Module UniversalPrintManagement
- La primera vez, puede pedirte confiar en el repositorio PSGallery. Acepta para continuar.
Si necesitas desinstalarlo más adelante:
Uninstall-Module -Name UniversalPrintManagement
Inicio de sesión y acceso a recursos de impresión en la nube
- Conéctate al servicio:
Connect-UPService
- Introducirás tus credenciales de Azure para gestionar los recursos.
Cmdlets más útiles del módulo UniversalPrintManagement
- Gestión de impresoras:
Get-UPPrinter
,Remove-UPPrinter
,Set-UPPrinterProperty
- Compartición de impresoras:
New-UPPrinterShare
,Get-UPPrinterShare
,Remove-UPPrinterShare
,Set-UPPrinterShare
- Permisos de usuario:
Grant-UPAccess
,Revoke-UPAccess
,Get-UPAllowedMember
- Conectores:
Get-UPConnector
,Remove-UPConnector
,Set-UPConnectorProperty
- Trabajos de impresión:
Get-UPPrintJob
- Informes de uso:
Get-UPUsageReport
Resolución avanzada de problemas de impresión con PowerShell y CMD
Las impresoras pueden ser realmente testarudas y fallar por múltiples causas: drivers conflictivos, actualizaciones de Windows, errores en la cola de impresión… Aquí te dejo las mejores prácticas y algunos trucos para resolver incidencias desde la línea de comandos.
Scripts para reparar errores causados por actualizaciones
En ocasiones, los parches de seguridad de Windows pueden provocar problemas inesperados, causando desde trabajos atascados hasta pantallazos azules. En estos casos:
- Utiliza scripts en PowerShell: Existen scripts que eliminan actualizaciones problemáticas o reinician la cola de impresión. Descárgalos siempre desde fuentes fiables y guárdalos con extensión .ps1 para ejecutarlos.
- Modo de empleo: Haz clic derecho sobre el archivo y selecciona “Ejecutar con PowerShell”. El script eliminará las actualizaciones conflictivas y reactivará el servicio de impresión.
Esta técnica es muy útil especialmente cuando las actualizaciones de Microsoft traen quebraderos de cabeza con drivers antiguos.
Preguntas frecuentes sobre la impresión desde línea de comandos en Windows
Respondamos ahora a lgunas dudas qu epueden surgir a la hora de imprimir desde CMD y PowerShell en Windows:
- ¿Puedo imprimir archivos PDF o DOCX desde CMD o PowerShell? No de forma nativa. Necesitarás programas de terceros que admitan impresión por comandos, como Adobe Reader en modo silencioso o Microsoft Word con parámetros especiales.
- ¿Se pueden automatizar trabajos de impresión programados? Sí, mediante scripts y programadores de tareas de Windows, ideal en oficinas y despachos.
- ¿Hay limitaciones de seguridad? En entornos controlados, asegúrate de tener permisos de administrador, especialmente para instalar drivers o compartir impresoras.
- ¿Funciona esto igual en todas las versiones de Windows? Los comandos funcionan en todas las versiones modernas (Windows 10, 11, Server), pero algunos pueden necesitar privilegios elevados.
Referencias rápidas: tabla de comandos esenciales
Comando / Cmdlet | Alias | Descripción |
---|---|---|
– | Imprime archivos de texto desde CMD | |
mspaint /pt | – | Imprime imágenes usando Paint |
Out-Printer | – | Imprime la salida en PowerShell |
Add-Printer | – | Crea una nueva impresora |
Get-Printer | – | Muestra lista de impresoras |
Add-PrinterPort | – | Añade puerto de red |
Add-PrinterDriver | – | Instala o asocia un driver |
Install-Module | – | Instala módulos externos |
Connect-UPService | – | Inicia sesión en UniversalPrint |
Get-ChildItem | gci, ls | Lista archivos y carpetas |
Set-Location | sl, cd | Cambiar de directorio |
Measure-Object | measure | Cuenta líneas/palabras/caracteres |
Select-String | sls | Búsqueda avanzada en archivos |
Remove-Item | rm | Elimina archivos |
Como has podido ver a lo largo de este artículo, imprimir desde CMD y PowerShell en Windows es mucho más que teclear un comando básico. Existen soluciones detalladas tanto para tareas sencillas como para la administración profesional de impresoras en red, gestión de permisos, aplicaciones en la nube y automatización extrema. Tener estos conocimientos te convierte en un verdadero experto de Windows, capaz de sacar el máximo partido a tus impresoras sea cual sea el contexto.