Adding TCP/IP network printers automatically in windows

If you wish to add network printers (TCP/IP Printers) in Windows XP, I have found that the following works really well. This us especially useful if you have a lot of machines to maintain and you dont want to add them in by hand

Step 1: Create the ports
Before you start adding printer drivers and creating printers that appear for applications, you need to add the ports for them. I have found that the best way to do this is to set up the printer fully and have it configured in windows then once you have the printer setup run regedit. Navigate to the following key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports
There you will see a list of ports in the form of “IP_192.168.0.2” or similar these correspond to the IP addresses of each of the printers you have installed. This also handily stores the settings (SNMP, LP/RAW, Queue names) for the printer in question. For example, below is a lp based TCP/IP printer from a Fuju-Xerox Able 1250

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\IP_192.168.0.2]
"Protocol"=dword:00000002
"Version"=dword:00000001
"HostName"=""
"IPAddress"="192.168.0.2"
"HWAddress"=""
"PortNumber"=dword:00000203
"SNMP Community"="public"
"SNMP Enabled"=dword:00000001
"SNMP Index"=dword:00000001
"Queue"="lp"
"Double Spool"=dword:00000001

Once you have that (and any others you wish to install) in a reg file for simple importing to the registry, you can move on to installing the drivers.

Step 2: Installing the Drivers
First you need to stop and start the spooler service. (The following does work using a .bat (batch) file.)

net stop spooler
net start spooler

you can then install the printer with the following command
rundll32 printui.dll,PrintUIEntry /if /b "Fuju Xerox Able 1250" /f %windir%\inf\ntprint.inf /r "IP_192.168.0.2" /m "Xerox Able Model-PRII PCL 6" /z /u /w

The /b “Fuju Xerox Able 1250” is the name that will be displayed in printers and faxes.

The /r “IP_192.168.0.2” is the Port that this printer uses

The /m “Xerox Able Model-PRII PCL 6” is the driver name – if the driver exists in windows already in this location /f %windir%\inf\ntprint.inf

“/u” will use existing drivers if they are already installed while “/u” will prompt for location if they are not installed.

“/z” prevents the printer from being automatically shared over CIFS/SMB.

rundll32 printui.dll,PrintUIEntry /? will display a list of options /l really needs to be investigated for fully automated installation.

Leave a Reply

You must be logged in to post a comment.