Home  Contact

 
Main
 Home
 About
 Contact

Services
 PC Support
 Scripting
 Script Depot

Retail
 Return Policy
 

Web Sites
 AntiCost
 LeonardReinhardt.com
 

 

PrinterAudit Script v2.0

The PrinterAudit script is a small effective script to help you audit your printer servers.  The script can remotely view and report on printers that exist on any Windows NT4, 2000 or 2003 print server. It is extremely helpful for printer migrations, consolidations, and for cleaning up orphaned print queues.  By viewing the reports that PrinterAudit generates, you have the following information available:

  • A list of all printers on a print server with driver & port information.
  • A mapping of users to printers, allows you to easily find out which printers users are printing to.
  • Page and Job count information so you can see which printers are heavily used.
  • Ping tests so you can determine if printers are still online.
  • Locate unused printer queues by ping tests & job counts.
  • Works against clustered print servers.

PrinterAudit is FREE to download and use!

If you use it and like it, all I ask is that you send me a note to share your thanks.

Contact:


Requirements

PrinterAudit is written entirely in VB Script and requires one Microsoft authored DLL to operate. It will run on any Windows XP, Windows 2000, or Windows 2003 computers.  You can report on Windows NT4.0 print servers as long as WMI is installed.

The script relies on print events that are stored in the "System" event log of the print server. It is recommended that your system log is at least 8 megabytes (8192kb) to gather a larger history of print events.

If you have more then 500 print queues on a server; you may need to tweak the MaxRPCSize registry entry to remotely report on printers. For more information, see the troubleshooting section below.


Installation

The script was written entirely in VB Script and uses the PrnAdmin.dll available from Microsoft as part of the Resource Kit.

The VB Script along with the PrnAdmin.dll file is downloadable in the following ZIP file. The script is not encoded and you are free to make any changes you like to it, although you can not resell it.

PrinterAudit.zip

Once downloaded, save both of the files in the same directory on your computer.

If you prefer, you can view the source code here: PrinterAudit.txt


Usage

The script is executed via the command prompt.  To run, navigate to the directory where the script is located and type:

cscript printeraudit.vbe /s:SERVER

Where SERVER is the name of the server you want to audit. The script will begin by dumping the print events from the event log, and then will scan each printer on the print server by pinging it; and searching for all print jobs in the event log.

The output is placed in a subfolder called "OUTPUT" with the following files for each server:

Filename Description Sample File (html)
_SERVER_PrintEvents.txt A text file containing all the print events from the event log of the source server.  
SERVER_Printers.csv A comma-seperated variable file that contains the following fields:

Printer, Share Name, Comment, Location, Printer Drver, Port, IP Address, Ping Test, First & Last User ID to Print, Job Dates, Job & Page Count, Average Jobs/Day
SAMPLE
SERVER_Users.csv A comma-seperated variable file that contains the following fields:

Printer, User ID, First & Last Job Date, Total Job & Page Count, Average Jobs/Day, Full Name & Description (from domain)
SAMPLE

Command-line options:

Option Description
/? Help
/S:Server Audit the server specified.
/I:serverlistfile.txt Audit all the print servers listed in "serverlistfile.txt". You can specify any file name you like. Servers must be listed on per line. Any line prefixed with a semicolon (;) will be ignored.
/NP No Ping Mode. This will skip the ping check; by disabling the ping check it will allow the script to run a little bit faster.

The script (on average) only takes a couple of minutes to run per server. If you have a large event log and hundreds of printers, it may take up to 30 minutes to run per server.


TroubleShooting

PROBLEM:
No events are generated, the _SERVER_PrintEvents.txt log file is empty.
RESOLUTION:
Make sure "DUMPEL.EXE" is in the path.
Make sure you have administrative rights to the server you are reporting against.

 

PROBLEM:
Unable to list printers error.
RESOLUTION:
Make sure you have administrative rights to the server you are reporting against.

If you have a large number of printers (> 300) you may need to tweak the MaxRPCSize registry key.

Add the following registry entry below, or use this registry file.

Navigate to Key:  HKEY_Local_Machine\System\Current Control Set\Control\Print
Add DWORD named "MaxRPCSize" with a value of 500000 HEX (5242880 decimal)

Then stop & start the "Spooler" or "Printer Spooler" service.

 

Still need help?

Contact:

 

Sample Output:

Hit Counter


Last Updated: 01/05/2011