Partager via


Administrando impresoras desde línea de comandos I

El sistema operativo nos ofrece una serie de scripts que nos pueden ser de gran utilidad para la administración de impresoras.

Situados bajo la ruta “%systemroot%\System32\Printing_Admin_Scripts\ ” dentro de una carpeta local específica de cada idioma encontraremos lo siguientes scripts.

prncnfg.vbs

prndrvr.vbs

prnjobs.vbs

prnport.vbs

prnqctl.vbs

pubprn.vbs

Permite listar y administrar configuraciones específicas de impresoras

Permite listar, instalar y administrar drivers de impresoras

Permite listar y administrar trabajos y colas de impresión

Permite añadir, configurar y eliminar puertos TCP/IP utilizados por impresoras

Permite administrar colas de impresión

Permite publicar impresoras de directorio activo

Si es la primera vez que trabajáis con scripts desde line a de comando, lo primero será configurar Wscript para para que cscript sea el entorno de ejecución por defecto. Par ello basta con ejecutar “cscript //h:cscript //s” 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.

Volviendo a los scripts de hoy, estos ofrecen la posibilidad de que les especifiquemos un equipo remoto contra el que vamos a realizar las tareas, utilizando el parámetro -S y especificando las credenciales mediante los modificadores –U y –W . Utiliza –U para especificar la cuenta de usuario (Dominio\usuario) y –W para su contraseña.

Ejemplo: -S nombreservidor de impresión –u miusuario –w micontraseña

Otra herramienta muy útil es Printbrm.exe , la encontrareis en la ruta “%SystemRoot%\System32\Spool\Tools” una vez instaléis las “Print Services tools” para administración remota o el rol de “Servidor de Impresión”.

  • Listar información sobre configuración de impresoras
  • Backup y restore de la configuración del servidor de impresión
  • Convertir puertos LPR a puertos TCP/IP en el proceso de restauración
  • Migrar impresoras y colas de impresión de un servidor a otro
  • Publicar impresoras en directorio activo

Veamos un ejemplo para verificar las impresoras y drivers de un servidor

 prndrvr.vbs –l

 Microsoft (R) Windows Script Host Version 5.8

Copyright (C) Microsoft Corporation. All rights reserved.

Server name

Driver name Xerox Global Print Driver PS,3,Windows x64

Version 3

Environment Windows x64

Monitor name

Driver path C:\Windows\system32\spool\DRIVERS\x64\3\PSCRIPT5.DLL

Data file C:\Windows\system32\spool\DRIVERS\x64\3\xUNIVPFL.p3p

Config file C:\Windows\system32\spool\DRIVERS\x64\3\PS5UI.DLL

Help file C:\Windows\system32\spool\DRIVERS\x64\3\PSCRIPT.HLP

Dependent files

 C:\Windows\system32\spool\DRIVERS\x64\3\xUNIVPFL.ini

 C:\Windows\system32\spool\DRIVERS\x64\3\xUNIVPFL.cfg

 C:\Windows\system32\spool\DRIVERS\x64\3\x2upFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2rpsFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2wfuvFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2guiFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2coreFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2utilFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2comsFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2jobtFL.exe

 C:\Windows\system32\spool\DRIVERS\x64\3\x2ptpcFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2fputFL.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2txtFL.cab

 C:\Windows\system32\spool\DRIVERS\x64\3\x2UNIVFL.cab

 C:\Windows\system32\spool\DRIVERS\x64\3\x2JARFL.cab

 C:\Windows\system32\spool\DRIVERS\x64\3\x2fpbFL.exe

 C:\Windows\system32\spool\DRIVERS\x64\3\xlibeay.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2fpd02.dll

 C:\Windows\system32\spool\DRIVERS\x64\3\x2UNIV.ppd

 C:\Windows\system32\spool\DRIVERS\x64\3\PSCRIPT.NTF

 C:\Windows\system32\spool\DRIVERS\x64\3\PS_SCHM.GDL

 C:\Windows\system32\spool\DRIVERS\x64\3\PSCRPTFE.NTF

Otro modo de verlo ejecutando “PrintBrm.exe –Q

Operation mode: query

Target server: local machine

Queue publish mode: none

Overwrite mode: keep existing settings

LISTING PRINT QUEUES

Send To OneNote 2010

LISTING PRINTER DRIVERS

Xerox WorkCentre 7235 PCL 6, Windows x64, None

Xerox WorkCentre 7232 PCL6, Windows x64, None

Xerox WorkCentre 5645 PCL6, Windows x64, None

Xerox Phaser 5500DN, Windows x64, None

Xerox Global Print Driver PS, Windows x64, None

Xerox Global Print Driver PCL6, Windows x64, None

Send To Microsoft OneNote 2010 Driver, Windows x64, None

LISTING PRINT PROCESSORS

XeroxV5Print Windows x64 x5print.dll

Displaying print hierarchy.

Send To OneNote 2010

        Send To Microsoft OneNote 2010 Driver (Windows x64) #1

Unassociated:

        Xerox WorkCentre 7235 PCL 6 (Windows x64) #0

        Xerox WorkCentre 7235 PCL 6 #0

        Xerox WorkCentre 7232 PCL6 (Windows x64) #0

        Xerox WorkCentre 7232 PCL6 #0

        Xerox WorkCentre 5645 PCL6 (Windows x64) #0

        Xerox WorkCentre 5645 PCL6 #0

        Xerox Phaser 5500DN (Windows x64) #0

        Xerox Phaser 5500DN #0

        Xerox Global Print Driver PS (Windows x64) #0

        Xerox Global Print Driver PS #0

        Xerox Global Print Driver PCL6 (Windows x64) #0

        Xerox Global Print Driver PCL6 #0

        Send To Microsoft OneNote 2010 Driver #0

 Un saludo, Paloma García

Técnico de Soporte Microsoft Premier

Comments

  • Anonymous
    January 01, 2003
    podria guardar las impresoras que tengo instaladas asi despues de reinstalar el equipo volver a cargarlas?
  • Anonymous
    April 29, 2015
    No sé qué requerimientos son necesarios porque en la página de microsoft tampoco pone nada, pero no funciona. El simp0le comando de listar los puertos dice "Número de puertos enumeraqdos 1" ,pero no da ninguna información, ni el nombre, ni la IP, nada de nada. En resumen: NO FUNCIONA en XP sp3. Naturalmente como administrador y en local.

  • Anonymous
    September 17, 2015
    Buenos días. Mi consulta es acerca del comando lpr. En linux podemos mediante # y a continuación un número, especificar la cantidad de copias a imprimir de un trabajo. En windows no es posible hacer esto no? Mi idea es agregar esto a una aplicación vb.net. Si no es posible, hay algún comando propio de visual?
    Gracias
    Saludos