Seleccionar la impresora predeterminada a través de un archivo batch


Aplicable como mínimo a Sistemas Operativos Windows 7, 8, Server 2008 y Servr 2008 R2.

Cómo seleccionar la impresora predeterminada a través de la línia de comandos?
Lo podemos hacer con la ayuda del comando rundll32 y la librería PRINTUI.dll:

> rundll32 PRINTUI.dll,PrintUIEntry /y /n "PDFCreator"


Los parámetros:
/y –> para especificar que la impresora va a ser la predeterminada
/n [nombre] –> especifica el nombre de la impresora

Para saber cual es el nombre correcto que tiene cada impresora podemos usar el script prnmngr.vbs que ya se encuentra en nuestras máquinas:

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

Obtenemos:
ImpPredet2



Una habitual funcionalidad de seleccionar la impresora predeterminada a través de un comando es poder hacer un pequeño batch y ponerlo en la carpeta inicio para cuando se inicie la sesión el usuario tenga la impresora predeterminada que le pertoque.


En que casos nos puede ser muy útil?
Por ejemplo cuando nos conectamos por escritorio remoto a un servidor arrastrando las impresoras locales y en el servidor ya hay otras impresoras configuradas, en ésta sesión del servidor por defecto la impresora predeterminada siempre será la que es predeterminada en local en el pc del usuario y no hay forma de hacer que una impresora configurada en el servidor sea la predeterminada de la sesión. En este caso crear un batch con el comando contado y ponerlo en la carpeta inicio nos soluciona el problema. Además es conveniente añadir un perqueño sleep de unos pocos segundos para evitar conflictos. El sleep lo podemos hacer utilizando un ping a una dirección inalcanzable y haciendo un reintento. El archivo batch quedaría así:

ping 1.1.1.1 -n 1 -w 3000 > nul
rundll32 PRINTUI.dll,PrintUIEntry /y /n "PDFCreator"






Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)

7 thoughts on “Seleccionar la impresora predeterminada a través de un archivo batch

  1. Hola mira necesito agregar nuevas impresoras en PDFCreator desde linea de comandos y crear nuevos perfiles tambien desde linea de comandos para crear un archivo .bat, he buscado y no encuentro como hacerlo, espero me puedas ayudar, saludos

  2. Puede que sea una pregunta de novato pero al enviar el comando > rundll32 PRINTUI.dll,PrintUIEntry /y /n “PDFCreator” me dice:

    “Este archivo no tiene ningun programa asociado para realizar esta acción. Instale el programa que corresponda ……”

    Què tengo que hacer?

    • Vale ya lo he arreglado, lo estaba haciendo desde una consola de comandos directamente… jajaja gracias!!

  3. buen dia como renombrar o cambiar de nombre una impresora por linea de comando?

    Muchas Gracias

  4. No sabes lo que te agradezco el post. Estaba precisamente buscando esto para la sesión remota. en mi caso tuve que dar mas tiempo para la ejecución del comando y lo programe para ejecutarlo automaticamente al inicio de la sesión mediante el programador de tareas de windows. Muchas gracias !!!!

Leave a Reply

Your email address will not be published. Required fields are marked *