Conseguir hacer funcionar cualquier impresora en Terminal Server

Atención: Esta entrada es altamente técnica y si no sabes que siginfica el título, mejor no te la leas o no volverás jamás a entrar en este blog :·)

La gama de sistemas operativos de servidor de Windows ofrece un sistema de teletrabajo llamado “Escritorio remoto”, que se compone de un servidor llamado “Terminal Server” y un programa cliente llamado “Conexión a escritorio remoto” que viene de serie con todos los Windows desde Windows 2000.

Este sistema de teletrabajo se basa en que el ordenador “cliente” se conecta al servidor, y abre en él una sesión; las entradas del usuario mediante el teclado y el ratón se envían por Internet (o por red) y el Terminal Server devuelve la imagen de pantalla resultante al cliente.

Esto permite que estés donde estés, y estés en el ordenador que estés, siempre puedas usar los programas que hay instalados en tu Terminal Server.

Una de las características más interesantes de Terminal Server es la posibilidad de imprimir en una impresora conectada al cliente. Pero no es ni de lejos tan fácil como el resto de las características de Terminal Server, ya que para que funcione, tanto el ordenador cliente como el servidor tienen que tener los controladores de esa impresora; sino la impresora simplemente no estará en la lista de impresoras del escritorio remoto.

Quizá sobre el papel no parece tan complicado; simplemente descargas los controladores de la impresora en el servidor y los instalas. ¿Fácil, verdad?. Pues no.

Ya me he encontrado diversas veces con el siguiente problema: no puedo usar una impresora en un cliente de Terminal Server, ya que no puedo instalar los controladores de la impresora en el servidor porque en el CD de instalación están “ocultos” o algo así. Esto es habitual en las impresoras de HP (supongo que otros fabricantes también), que no permiten añadir la impresora si no instalas el gigantesco software que hay detrás, e incluso hay veces que ni haciéndolo.

Un ejemplo práctico es el que me ha ocupado hoy: Tenía que instalar en el Terminal Server (en adelante TS) el driver de una HP OfficeJet 5615, una multifunción con fax de inyección de tinta.

Problema nº 1: La impresora no aparece cuando el cliente de TS se conecta al servidor:
Solución: Activar el modo de retroceso PCL de TS, así:
Ejectuar las directivas de grupo (o políticas de grupo) haciendo Inicio -> ejecutar -> gpedit.mmc
En el árbol de la izquierda, vamos a “Directiva Equipo Local” -> “Configuración del equipo” -> “Plantillas administrativas” -> “Componentes de Windows” -> “Terminal Services” -> “Redirección de datos cliente-servidor”. En el panel de la derecha, cambiamos el valor de la configuración “Comportamiento del controlador de impresora de retroceso de Terminal Server” a “Habilitada” y luego poner “Usar PCL si ninguno se encuentra”.
Cerramos la sesión de terminal server y la volvemos a abrir; las impresoras ya aparecen; sin embargo las que no tengan los controladores instalados en el servidor, usarán el controlador de la “HP Deskjet 500”, un controlador muy básico y que en algún caso (léase en el caso de la OJ 5615) no funciona.

Problema nº 2: La impresora no se puede instalar en el servidor porque el instalador no soporta Windows 2003.
Solución: Truco “guarro” de hacer clic derecho sobre el “setup.exe”, propiedades, y activar el modo de compatibilidad para Windows XP.
Aún y así, los controladores no se instalan, ya que la impresora debe estar físicamente conectada para que éstos se instalen.

Problema nº 3: Si la impresora no está físicamente conectada, no se instalan los drivers
Solución: Instalar los drivers de forma manual, usando estos comandos en el servidor:

rundll32 printui.dll,PrintUIEntry /ia /m "HP Officejet 5600 series" /h "Intel" /v "Windows 2000 o XP" /f "D:\hpoprn08.inf"
rundll32 printui.dll,PrintUIEntry /if /b "HP OJ 5600" /f D:\hpoprn08.inf /r "lpt1:" /m "HP Officejet 5600 series"

En mi caso el archivo inf era el hpoprn08.inf, pero puede tener cualquier nombre. Se tiene que hacer una búsqueda textual dentro de los archivos INF que contiene el CD de instalación de la impresora (o los controladores descargados de internet) por el texto exacto del nombre de la impresora cuando ésta se instala con el nombre por defecto. En mi caso era “HP Officejet 5600 series”. El texto aparece en varios archivos INF, pero el que me ha funcionado al final es el que hay especificado ahí.

El nombre de “HP OJ 5600” lo he puesto yo (manualmente), y la impresora se conecta por LPT1: pero de momento eso no importa demasiado.

Una vez ejecutados esos dos comandos, tenemos la impresora creada; no sirve porque está conectada al LPT1; pero ahora, al estar instalado el driver ya en el servidor, cuando se inicie sesión el driver adecuado se seleccionará automáticamente.

De no hacerlo, se puede cambiar de forma manual yendo a Inicio -> Impresoras y faxes.
Hacemos clic derecho sobre la impresora en cuestión, y seleccionamos “Propiedades”.
Vamos a la pestaña “Opciones avanzadas” y en la lista desplegable “Controlador”, seleccionamos el controlador correcto para la impresora.

Espero que esto pueda ayudar a alguien que también se haya peleado mucho para conseguir hacer funcionar sus impresoras en Terminal Server.

122 Responses to “Conseguir hacer funcionar cualquier impresora en Terminal Server”

  1. Hugo Tenorio dice:

    Disculpa, en caso de que la impresora este funcionando pero la salida de impresión sea bastante lenta (1 min.) que solución me sugieres?.

    Saludos!

  2. Karina dice:

    Una duda , que necesito realizar ya que cuando reinicio el server con windows 2003, se borra la impresora y tengo que configurarla de nuevo, el driver esta en el server asi que solo la pongo de nuevo y funciona pero el chiste es que me doy cuenta que no esta la impresora ya hasta que me falla mi impresion remota

    Gracias

  3. ISC dice:

    eres un jodido mamon con tus cuestiones tecnicas,

  4. Vicky dice:

    Muchas gracias por tu ayuda. Despues de dias de buscar di con tu blog y me ha sido de mucha utilidad.

  5. german Ruiz dice:

    Tengo un problema con esta solución si la pongo y tengo tres o cuatro usuarios al mimo tiempo conectado, las impresiones salen en las impresoras que sea es decir el usuario 1 imprime y sale en el 2 o 3 y no debe ser asi, o el usuario 4 se imprime en la 1, creo que esto interconecta todos los puertos para todos..

  6. cifuentes dice:

    impresora hp 1102w no me permite imprimir, segun es por las cuestiones de que el lenguaje de lal servidor es pcl y el de la impresora, es host, hablando de comunicacion, podrias aclarame esto llevo dias intentado hechar andar esta impresora, es un server 2003, en otros momentos estono era dificil, ahora se ah vuelto realmente molesto.

  7. Mr.Coyote dice:

    Muy bien explicado por si algun dia se llegara a ocupar ya estamo advertidos y tenemos nociones de como solucionar esos imprevistos

  8. Plaza Comunitaria dice:

    Muchas gracias me fue de mucha ayuda tu blog
    esta genial despues de tanto buscar y buscar
    esta fue la que en verdad me funciono

  9. P3rY dice:

    Mil gracias un articulo fantastico, me ha sacado de un marrón que me lleva días loco, muchisimas gracias!!!

  10. Lester dice:

    Buen dia amigo, exactamente donde se ejecutan este comando en simbolo de sistema ? y como es realmente la sintaxis

  11. EMILTON dice:

    tengo un problema con la configuración de una impresora laser en acceso remoto, mi servidor tiene sistema operativo windows server 2008 r2 y mi equipo cliente tiene windows 7 cuando miro lo compartido me aparece la impresora pero cuando intento conectarme con ella me sale un error que no permite la conexión si alguien sabe como puedo solucionar este error le agradezco la informacion

  12. rafael lopez dice:

    saludos, encontré esta solución que sirvio de maravilla para mi, es una cuestión de permisos de la carpeta ubicada en c:\windows\system32\spool\printers , le dan permisos en la pestaña seguridad para todos los usuarios y solucionado el inconveniente.
    Transcribo el texto en ingles:

    1. On the Terminal Server locate the Printers folder. This is normally located at: to c:\windows\system32\spool\printers

    2. Right-click on the Printers folder, and then click Properties.

    3. Click Security, and then add everyone to the security permissions.

    4. Click Apply, and then OK. .

    Me sirvió para windows 2008 Standard R2 en español, pero parece una solución aplicable a otras versiones.

  13. Gracias a todos por vuestras aportaciones, especialmente a la de Rafael Lopez por que en mi caso se soluciono danto permisos en la seguridad de la carpeta c:\windows\system32\spool\printers
    Me ha valido para la version windows server 2012 que no habia manera de que funcionara.

  14. ivon dice:

    Buenas tardes, disculpe la molesita, es que tengo un problema con un servidor windows server 2008 standar, cuando entro al servidor por escritorio remoto, comienza a salirme la venta de guarda archivo, en windows 7, y cada vez q lo cierre me sale otra vez, y no me deja trabajar. y en windows xp me genera un monton de impresiones, las impresoras se llena de impresiones q no existen.

    Agradezco su colaboracion.

  15. Alberto Medina dice:

    buen aporte y comentarios, me gustaría saber si alguien ya soluciono el problema del retardo de 1 minuto en la salida de impresión porque yo llevo mucho tiempo buscando esa solución y no la he encontrado.
    Ya estuve un buen tiempo con soporte técnico de HP y no dan soporte en cuanto a impresión remota lo que me dijeron es que si el equipo funciona localmente para ellos esta funcionando correctamente, también contacté con soporte técnico de Microsoft y me dicen que es problema del equipo, así me traen y no soluciono el problema, si alguien tiene alguna solución por favor compártala.
    Saludos

  16. Jorge dice:

    Aplicar la solución al problema No. 1. ¿Aplica el “truco” tambien para Windows 8 ?

  17. Spyd dice:

    Jorge: La solución del problema No. 1 se aplica en el servidor, no en el cliente, así que la versión del sistema operativo cliente no debería importar.

  18. Mike Ag. dice:

    Habrá ocasiones que el archivo controlador para windows server (2008, 2012) instala un driver del mismo modelo de la impresora pero con otro nombre (incluso puede ser el mismo nombre pero con que cambie un espacio ya es distinto), entonces cuando se conecta a terminal server, no encuentra el modelo exacto.

    Para estos problemas debemos de generar un archivo en donde especifiquemos que el driver instalado para el servidor es el mismo del equipo local.

    Encontré en las páginas de Microsoft cómo generar este archivo y me ha funcionado muy bien. Les paso el link

    http://technet.microsoft.com/en-us/library/ff519149%28v=ws.10%29.aspx

    Aunque viene en Inglés pueden usar el traductor de Google.

    Saludos, espero les ayude.

    Mike Ag.

  19. Hover Huaman dice:

    buenaS una consulta mi servidor tiene windows server 2003 y mi cliente windows 7 de 64 bits y tengo una impresora epson lx 300ii y cuando imprimo desde mi cliente imprime normal pero al conectarme al terminal me imprime solo basura y luego ni siquiera en mi cliente puedo imprimir. agradezco su ayuda

  20. ELVIS dice:

    Hola.!!! Tengo problemas con las impresoras las que tenia instaladas en un principio no hay problema, con las que instalo despues de instalar aaades no las puede ver desde mi escritorio remoto en la terminal tengo win 7 64 bit, en los clientes varian xp win 7 y win 8
    alguien puede decirme que hago me urge imprimir

  21. Juan s dice:

    Q tal amigos… tengo un problema con las impresoras matriciales epson lx300 y 350 al imprimir en un sistema que utiliza Galeon para acceder al servidor windows server 2008 de forma remota y clientes con windows 7. La impresion sale distorcionada, lo raro es que Con windows xp funciona muy bien. Espero su ayuda, gracias.

  22. Guillermo dice:

    Mas si hay más desempleados europeos registrados en INEM
    que semejantes puestos los europeos tienen prioridad
    y la empresa no puede contratarle. http://annettsharkey00.blog.fc2.com/blog-entry-1.html

Leave a Reply