Partager via


Mapeo de Impresoras de Red por línea de comandos (PrintUI.dll)

L a tarea de mapear una impresora mediante el interface gráfico es algo que cualquier usuario puede realizar con facilidad, el problema se presenta eres el administrador de la plataforma, son las 8 de la tarde y mañana las 8 todos los usuarios deben tener mapeadas esa impresoras tan chulas que han crecido por los pasillos.

Para agilizar esta tarea podemos crear scripts y utilizar una librería que aunque lleva bastante tiempo entre nosotros tal vez no es lo suficientemente conocida, para los que la conozcáis se llama PrintUI.dll.

A lo largo de estas líneas intentaré mostrar las funciones más comunes.

1.- Añadir una impresora nueva

El objetivo es instalar una impresora de red en un equipo cliente. La impresora ser visible solo para el usuario que ejecuta el comando.

rundll32 printui.dll,PrintUIEntry /in /n\\servidorimpresion\nombre_impresora

Para que la impresora esté disponible para todos los usuarios del equipo, un administrador local de la misma deberá ejecutar lo siguiente:

rundll32 printui.dll PrintUIEntry /ga /n\\ servidorimpression\nombre_impresora

  

2.- Eliminar una impresora existente

Como en el caso anterior esto solo afecta a la impresora del usuario que ejecuta el comando

rundll32 printui.dll,PrintUIEntry /dn /n\\ servidorimpresion\nombre_impresora

Para eliminar la impresora para todos los usuarios del equipo la sintaxis es la siguiente.

rundll32 printui.dll PrintUIEntry /gd /n\\ servidorimpresion\nombre_impresora

3.- Establecer una impresora por defecto

rundll32 printui.dll,PrintUIEntry /y /n\\ servidorimpresion\nombre_impresora

Aquí os he mostrado las funciones más comunes pero si consultáis la ayuda encontraréis el resto de opciones disponibles ya que seguro os serán también de utilidad.

rundll32 printui.dll PrintUIEntry /?

Un saludo, Paloma García

Técnico de Soporte Microsoft Premier

Comments

  • Anonymous
    July 23, 2009
    Hola.¿hay alguna forma de gestionar los errores que se pueden producir con printui.dll,PrintUIEntry en forma de log.Saber que ha ocurrido realmente al ejecutar??

  • Anonymous
    July 23, 2009
    ¿existe alguna forma para ver el resultado de printui para saber que ha ocurrido exactamente (p.ejemplo si devuelve 0 todo ha ido bien,si devuelve 1 falta el driver,2 impresora no etsa lista,etc....?

  • Anonymous
    August 13, 2014
    Excelente. muchas Gracias por el aporte

  • Anonymous
    January 18, 2016
    Comparto para ustedes una opcion de eliminacion de impresoras dejando alli la impresora PDF, por que el anterior código que ustedes plantean solo elimina una, con este eliminara todas menos las de PDF.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")

    Set colInstalledPrinters = objWMIService.ExecQuery
    ("Select * from Win32_printer where Name != 'PDFCreator'")

    For Each objPrinter in colInstalledPrinters
    objPrinter.Delete

    Next

    'Set oShell = WScript.CreateObject("WSCript.shell")
    'oShell.run "gpupdate /force