Páginas

Mostrando entradas con la etiqueta Impresoras. Mostrar todas las entradas
Mostrando entradas con la etiqueta Impresoras. Mostrar todas las entradas

18 septiembre, 2015

Exportar un controlador específico de impresora incluido en el DriverStore de Windows

Si queremos exportar un controlador específico de el cual ya está incluido en el repositorio nativo DriverStore de Windows.

¿Por qué razón lo haríamos esto?

Simplemente por que en la website oficial el fabricante en cuestión no publica el controlador necesario o específico del modelo para nuevos sistemas operativos, sino que lo hace con un controlador genérico.

Sin embargo, en algunos casos Windows lo incluye en sus repositorios oficiales. Como es el siguiente caso, donde Windows incluye el controlador HP LaserJet 4200/4300 PCL6.

Figura 1: Driver de HP Laserjet 4200/4300 PCL6 el cual queremos exportar.

Para poder ver la ruta, el controlador de inicialización (.ini) y sus otros ficheros dependientes del driver podemos hacer uso de prndrvr.vbs del que ya hablara en otro artículo http://www.zonasystem.com/2014/09/administrar-impresoras-de-windows.html

Por defecto ubicados en el path:
C:\Windows\System32\Printing_Admin_Scripts\es-ES
Abrimos una consola con privilegios de administrador y ejecutamos:
prndrvr.vbs -l |more
-l: Nos listará todos los controladores instalados en el equipo local.
|more: visualización por páginas de los resultados.

Figura 2: Controlador principal y lista de todos los archivos dependientes necesarios.

Podemos hacer exactamente lo mismo de forma gráfica. Para ello abrimos una MMC y agregamos el complemento de "Administración de impresión" para el equipo local, en el apartado de "Controladores" buscamos el driver de la impresora que nos interese, en sus propiedades veremos la ruta de acceso al controlador y el resto de ficheros independientes.

Figura 3: Método gráfico con el mismo resultado que prndrvr.vbs -l

La ruta por defecto del repositorio del conjunto de todos los drivers instalados en la máquina local es:
C:\Windows\System32\DriverStore\FileRepository
Dentro de este path buscamos la carpeta del controlador en cuestión, la cual obtenemos su nombre por lo realizado anteriormente.

Aquí tendremos dos opciones:

- Copiar el propio fichero del driver y sus depencias uno a uno siguiendo el listado mostrado anteriormente (ya sea que lo hicéramos en consola o de forma gráfica).

- Si vamos a reinstalar este driver en un equipo en el que tenga las depencias de dicho driver simplemente copiaremos el fichero de inicialización del propio driver (.inf). Ya que esté llamará a sus otros ficheros dependientes.

Saludos!

11 diciembre, 2014

PNPUTIL: Instalar controladores de forma nativa en el repositorio de Windows [DriverStore]

Pnputil.exe es una pequeña herramienta que se usa mediante una command prompt de manera sencilla.

Esta utilidad nos permite principalmente; agregar y/o eliminar drivers o controladores que están preinstalados en la base de datos de nuestro MS Windows.

Lo cual esto nos puede resultar útil si necesitamos instalar equipos en producción en un entorno corporativo en el que se disponen de múltiples modelos de impresoras. Podemos prestablecer en una imágen o maqueta del sistema estos drivers ya instalados como si se trataran de forma nativa en Windows. Y de este modo ahorrarnos el buscar/copiar el driver de dichas impresoras en el equipo en cuestión.

Estos drivers se alamcenan por defecto en el repositorio de la DriveStore de Windows. Carpeta la cual se encuentra en el siguiente path:
%systemroot%\System32\DriverStore\FileRepository
Por ejemplo solo lo que son los controladores de impresoras se componen en su mayoría de ficheros .cat, .dll, .inf, etc. Incluso algunos modelos de impresoras u otros dispositivos solo necesitan un fichero de .inf para que Windows reconozca dicho dispositivo.

Los ficheros *.INF son archivos que almacenan el código de información para la instalación y funcionalidad de los controladores de cualquier tipo de dispositivo.

Para mostrar un ejemplo de todo esto. En mi equipo, Windows 7 por defecto no viene con Drivers para una determinada marca de impresora (Citizen), en este caso, voy instalar los controladores de dicha impresora para diferentes modelos de la misma marca, en los que después por defecto me aparecerán en la lista de drivers de Windows, ya que estos se guardarán en el DriverStore.

[1] - En primer lugar, mirar si disponemos del controlador ya preinstalado en el sistema.

Figura 1: No se muestran controladores Citizen.

[2] - Una vez que tengamos a mano la carpeta del controlador que queramos instalar. Abrimos una consola CMD con privilegios administrativos y escribimos:
pnputil -a Citizen.inf
Con el argumento "-a" (add) añadimos al repositorio de Windows un driver.
Podríamos ejecutar el comando situados en otra ruta, simplemente en ese caso tendríamos que hacer referencia de ella, por ejemplo: %PATH%\Fichero.inf .

En la captura  se observa como el fichero Citizen.inf alamacerá en este caso diferentes modelos de impresora para esta marca.

Añadiendo diversos modelos de controladores de Citizen con pnputil -a
Figura 2: Añadiendo diversos modelos de controladores de Citizen con pnputil -a

En el transcurso de la copia de drivers a la DriverStore, Windows nos puede informar acerca de la firma legítima del fabricante en el controlador, si se trata o no de un controlador de confianza.

Por seguridad y para evitar posibles malwares todo fabricante debería firmar sus controladores para todos sus modelos, pero por tema de costes muchos de ellos no llegan a cumplir esto, incluso si se trata de marcas reconocidas.

Otro caso, puede ser en el que tengamos y queramos otra estructura de drivers según marca/modelo en el existan varios ficheros .inf. Podemos agregar todos con el carácter comodín: *.
pnputil -a *.inf
[3] - Ahora volviendo al repositorio que nos ofrece Windows por defecto, vemos que se ha a añadido una nueva marca con sus respectivos modelos en la DriverStore de Windows.

En este ejemplo el fichero "Citizen.inf", contenía diversos modelos de impresoras de la marca Citizen. Pero no siempre será así, en otras ocasiones solo habrá el driver específico de un modelo y marca. Eso dependerá de la construcción/programación del controlador por parte de la del fabricante.

Figura 3: Ya disponemos de una nueva marca y modelos en el repositorio DriverStore de Windows.

Saludos!

04 septiembre, 2014

Administrar impresoras de Windows instaladas en equipos locales o remotos por linea de comandos o de modo gráfico

En esta entrada veremos que comandos utilizar para poder administrar impresoras desde lineas de comandos, ya sean para equipos locales o equipos remotos de un red.

Administración de impresoras por: Scripts (.vbs)

Nos situamos bajo la ruta "%systemroot%\System32\Printing_Admin_Scripts\..."  dentro de esa carpeta veremos de una carpeta local específica de cada idioma encontraremos lo siguientes scripts.
  • Prnmngr.vbs: Agrega, elimina y enumera impresoras o conexiones de impresora, además de establecer y mostrar la impresora predeterminada.
  • Prncnfg.vbs: Configura o muestra información acerca de una impresora.
  • Prndrvr.vbs: Agrega, elimina y enumera los controladores de impresora.
  • Prnjobs.vbs: Hace una pausa, reanuda, cancela y enumera los trabajos de impresión.
  • Prnport.vbs: Crea, elimina y enumera los puertos de impresora TCP/IP estándar, además de mostrar y cambiar la configuración de puerto.
  • Prnqctl.vbs: Imprime una página de prueba, pausa o reanuda una impresora y borra una cola de impresión.
  • Pubprn.vbs: Publica una impresora para los servicios de dominio de Active Directory.
Si es la primera vez que usamos scripts VBS (Visual Basic Script) desde linea de comandos, podría mostrarse el siguiente mensaje.

WSH_modo Cscript para ejcutar vbs
Figura 1: Mensaje de "Windows Script Host", pasos para cambiar al modo cscript y ejeuctar ficheros .vbs

Lo primero será configurar wscript (Windows-based Script) para para que cscript (Command-line Script) sea el entorno de ejecución por defecto para poder ejecutar ficheros de scripts .vbs.
Para ello basta con ejecutar en una consola de Windows:
cscript //h:cscript //s
Donde //h:cscript cambia el host de secuencias de comandos predeterminado y //s guarda los cambios para el usuario actual.
Si no estamos seguros de si el entorno donde lo vamos a ejecutar está ya configurado de este modo, también podemos incluir esta línea dentro de nuestro script .vbs.

Para poder administrar de forma remota impresoras de otros equipos de un red/dominio, después de añadir los parámetros necesarios para lo que queramos realizar cambios, añadimos los siguientes argumentos, un ejemplo para un cambio de nombre de una impresora instalada en un equipo remoto de un red de dominio en este caso sería:
prncnfg -x -p Brother -z "Brother_Despacho2" -s NombreEquipoRemoto -u UserAdmin -w PasswordUserAdmin
 Donde UserAdmin y PasswordUserAdmin, sería un usuario local con privilegios administrativos del equipo remoto, en caso de estar en un dominio se debería especificar el nombre de equipo para que autentifique como usuario administrador local y no usuario administrador de dominio: NombreEquipoLocal\UserAdminLocal.

En la siguiente captura se puede ver en un caso real del ejemplo anterior, bajo un equipo remoto que forma parte de un dominio (click en la imagen para ampliar).

Ejemplo prncng cambiar nombre impresora instalada en un equipo remoto
Figura 2: Ejemplo de un "cambio de nombre" de una impresora instalada en un equipo remoto de un red de dominio.

Administración de impresoras por: printbrm.exe

Otra herramienta interesante es printbrm.exe, ubicada en la ruta: "%SystemRoot%\System32\Spool\Tools".

Con Printbrm podemos entre otras cosas:
  • Listar información sobre configuraciones de impresoras.
  • Backup y restore de la configuración de un servidor de impresión.
  • Convertir puertos LPR a puertos TCP/IP en un proceso de restauración.
  • Migrar impresoras y colas de impresión de un servidor a otro.
  • Publicar impresoras en Active Directory.
Si se está ejecutando Printbrm a través de la red a hosts remotos, el recurso compartido Print$ debe existir en los hosts de origen y destino y debe estar iniciado el servicio de Windows de "Registro remoto".

Más información sobre el uso de Printbrm en:
http://ss64.com/nt/printbrm.html
http://technet.microsoft.com/en-us/library/jj134237.aspx

Administración de impresoras por: printmanagement.msc (GUI)

La forma más sencilla de hacer las mismas operaciones de prácticamente todo lo que se podría hacer mendiante linea de comandos con los Scripts .vbs y la herramienta Printbrm.exe, es usar un modo gráfico mucho más intuitivo y ágil de usar para el usuario-administrador, el modo gráfico es gracias a una MicroSoft Console (MSC): printmanagement.msc (La consola de Microsoft de "Administración de impresión").

Para poder abrir la consola de Microsoft "Administración de impresión" se puede hacer de varias formas y todas serían válidas:

- Escribimos en una ventana Ejecutar (Tecla Windows+R): printmanagement.msc

- Abriendo una MMC (Microsoft Management Console). Escribimos en una ventana Ejcutar: MMC > Archivo > Agregar o quitar complemento... > Administración de impresión > Escribimos el nombre de host remoto.

- Inicio > Panel de Control > Sistema y Seguridad > Herramientas administrativas > Administración de impresión.

Una vez abierta la Administración de impresión, podremos configurar nuestras propias impresoras instaladas en nuestro host local o conectarnos a otros hosts remotos en los que podremos incluso llegar a instalar impresoras con sus drivers correspondientes.

Unos ejemplos de acciones que se podrían llevar a cabo serían:

- Colocados en la parte de "Servidores de impresión", para conectarnos a un host remoto:
Botón derecho o Acción en la barra de herramientas > Agregar o quitar servidores...

- Para instalar un impresora en un equipo remoto, nos situamos sobre el equipo remoto una vez agregado:
Botón derecho o Acción en la barra de herramientas > Agregar Impresora...

Agregando Host remoto para la administración por printmanagement.msc
Figura 3: Agregando un host remoto para la administración de impresoras por printmanagement.msc

En la captura anterior se puede ver como en mi equipo local tengo agregado a mi propio equipo al servidor administración de impresión y a su vez tengo otros dos equipos de una red de dominio agregados.

En los que de este modo voy poder configurar todo de la misma forma que como lo haría si estuviese sentado físicamente en esos equipos remotos. La gran diferencia es que esto se hace de forma subyacente al usuario y ya con privilegios administrativos.

Más información sobre la MSC "Administración de impresión" http://technet.microsoft.com/es-es/library/cc664683.aspx

Ya sean por comandos de scripts, por una tool de comandos o de forma gráfica, la gran ventaja que esto supone es que nos ayuda a administrar y gestionar impresoras en equipos remotos de forma transparente al usuario final.

Saludos!

27 julio, 2013

Eliminar drivers de impresoras en Windows: Propiedades de servidor de impresión [printui /s]

Cuando tenemos problemas con los controladores de las impresoras o ya hemos reinstalado en múltiples ocasiones los mismos controladores específicos, genéricos o similares... puede que algunas dll machaquen a otras con una revisión más actual o al contrario. Esto nos impide configurar ciertas características específicas de configuración, de impresión o simplemente crear conflictos entre los drivers y conseguir que no impriman nada o no correctamente.

Cuando eliminamos una impresora: Panel de control -> Hardware y sonido -> Dispositivos e impresoras -> Botón derecho sobre la impresión a eliminar -> Quitar dispositivo.

Lo que sencillamente estamos haciendo es eso, quitar el dispositivo, pero NO eliminamos del sistema ni los puertos ni los controladores asociados a ese dispositivo.

Para poder eliminar los puertos, una vez eliminemos la impresora accedemos a otras Propiedades de otra u otro dispositivo y en la pestaña puerto eliminamos o quitamos el puerto lógico en cuestión. 

Pero para eliminar los drivers o controladores de impresoras de forma completa en Windows 7 no es igual que en Windows XP.

Para poder acceder a la antigua pantalla de "Propiedades: Servidor de impresión" que disponía Windows XP en las propiedades de una ventana del panel de control en la sección de configuración e instalación de impresoras. (Para Windows 7 SP1 no existe esta opción).

Por lo que tendremos que hacer uso de la interfaz del usuario de la impresora, en la cual la abrimos ejecutando el siguiente comando printui /s (Print User Interface) en una ventana "Ejecutar" o bien en una consola CMD de Windows 7.

La variante del comando /s nos abrirá la ventana de "Propiedas: Servidor de impresión".

Esta acción requiere privilegios administrativos por lo que si somos usuarios rasos y tenemos el UAC activado nos saltará la ventana para la autorización y elevación de privilegios.

Una vez en la ventana, nos vamos a la pestaña Controladores seleccionamos los drivers de la impresora a eliminar y pulsamos el botón Quitar... Se nos abrirá otra ventana en la que seleccionaremos: Quitar el controlador y el paquete de controladores.

Por que los paquetes de controladores también?

Muchos modelos de impresoras en la instalación de su driver no solo traen el suyo si no que incluyen controladores genéricos de otros modelos similares, y el fabricante, si hacemos la instalación por un asistente este nos instala todos estos controladores, que no son más que más librerías dll y otros ficheros. Entonces para eliminar estos drivers de manera completa y limpia aconsejo esta opción.

La carpeta donde están estos controladores tanto en Windows XP, Vista o 7. Es el path: %systemroot%\System32\spool\drivers

Figura 1: Eliminando controladores desde la Propiedades de impresión de Windows 7 con: printui /s

Otra opción igualmente válida sería hacerlo desde una MMC (Microsoft Management Console) desde una ventana "Ejecutar", escribiendo simplemente "mmc". Una vez ahí añadimos un snap-in: Archivo > Agregar o quitar complemento... > Administración de impresión > Agregar el servidor local.

Este snapin nos llevará al servidor de impresión al que tendremos acceso a los controladores y ahí podemos ver todos e ir desinstalando los que deseemos, esto haría el mismo efecto que lo anterior ya que también quitaría el "paquete de controladores".

Figura 2: Snap-in del Administrador de impresión - Controladores del servidor de impresión desde una MMC

Saludos!

Entradas Populares