Subscribe to Windows IT Pro

 

Get Newsletters

  • Get the Latest News
  • Product Updates
  • Helpful Tricks
  • Productivity Tips

Subscribe Now!

April 07, 2000 12:00 AM

How can I add a printer from the command line?

Windows IT Pro
InstantDoc ID #14539
Rating: (20)

A. Microsoft has a utility which can add printers from the command line but its only available to OEM suppliers. Another option is by directly manipulating the printui.dll dynamic link library.

   rundll32 printui.dll,PrintUIEntry [options]

For example to add a HP DeskJet 970Cxi on LPT1: on Windows 2000 use the following:

   D:\>rundll32 printui.dll,PrintUIEntry /if /b "HP DeskJet 970Cxi" /f
   %windir%\inf\ntprint.inf /r "lpt1:" /m "HP DeskJet 970Cxi"

Other options are:

   /a\[file] binary file name
   /b\[name] base printer name
   /c\[name] unc machine name if the action is on a remote machine
   /dl delete local printer
   /dn delete network printer connection
   /dd delete printer driver
   /e display printing preferences
   /f\[file] either inf file or output file
   /ga add per machine printer connections
   /ge enum per machine printer connections
   /gd delete per machine printer connections
   /h\[arch] driver architecture one of the following, Alpha | Intel | Mips | PowerPC
   /ia install printer driver using inf file
   /id install printer driver using add printer driver wizard
   /if install printer using inf file
   /ii install printer using add printer wizard with an inf file
   /il install printer using add printer wizard
   /in add network printer connection
   /j\[provider] print provider name
   /k print test page to specified printer, cannot be combined with command when installing a printer
   /l\[path] printer driver source path
   /m\[model] printer driver model name
   /n\[name] printer name
   /o display printer queue view
   /p display printer properties
   /q quiet mode, do not display error messages>
   /r\[port] port name
   /s display server properties
   /Ss Store printer settings into a file
   /Sr Restore printer settings from a file

Store or restore printer settings option flags that must be placed at the end of command:

	2	PRINTER_INFO_2
	7	PRINTER_INFO_7
	c	Color Profile
	d	PrinterData
	s	Security descriptor
	g	Global DevMode
	m	Minimal settings>
	u	User DevMode
	r	Resolve name conflicts>
	f	Force name
	p	Resolve port

   /u        use the existing printer driver if it's already installed
   /t        [#] zero based index page to start on
   /v        [version] driver version one of the following, 
                Windows 95 or 98 | Windows NT 3.1 | Windows NT 3.5 or 3.51 | 
                Windows NT 3.51 | Windows NT 4.0 | Windows NT 4.0 or 2000 | Windows 2000
   /w        prompt the user for a driver if specified driver is not found in the inf
   /y        set printer as the default
   /Xg       get printer settings
   /Xs       set printer settings
   /z        do not auto share this printer
   /Z        share this printer, can only be used with the /if option
   /?        help this message
   @[file]   command line argument file

Examples:

Run server properties: 

   rundll32 printui.dll,PrintUIEntry /s /t1 /n\\machine

Run printer properties: 

   rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer

Run add printer wizard localy: 

   rundll32 printui.dll,PrintUIEntry /il 

Run add printer wizard on \\machine: 

   rundll32 printui.dll,PrintUIEntry /il /c\\machine

Run queue view: 

   rundll32 printui.dll,PrintUIEntry /o /n\\machine\printer

Run inf install: 

   rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "AGFA-AccuSet v52.3"

Run add printer wizard using inf: 

   rundll32 printui.dll,PrintUIEntry /ii /f %windir%\inf\ntprint.inf

Add per machine printer connection: 

   rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan Print Services"

Delete per machine printer connection: 

   rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer

Enumerate per machine printer connections: 

   rundll32 printui.dll,PrintUIEntry /ge /c\\machine

Add printer driver using inf: 

   rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000" /f %windir%\inf\ntprint.inf

Remove printer driver: 

   rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000"

Set printer as default: 

   rundll32 printui.dll,PrintUIEntry /y /n "printer"

Set printer comment: 

   rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer"

Get printer settings: 

   rundll32 printui.dll,PrintUIEntry /Xg /n "printer"

Get printer settings saving results in a file: 

   rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"

Set printer settings command usage:

   rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?

Store all printer settings into a file: 

   rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"

Restore all printer settings from a file: 

   rundll32 printui.dll,PrintUI /Sr /n "printer" /a "file.dat"

Store printer information on level 2 into a file : 

   rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2

Restore from a file printer security descriptor: 

   rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s

Restore from a file printer global devmode and printer data: 

   rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d

Restore from a file minimum settings and resolve port name: 

   rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p

Also see Knowledge Base article Q189105 (http://support.microsoft.com/support/kb/articles/Q189/1/05.ASP)

Another option is to use the START command:

   start \\print_server\print_name

The first time the system asks if you want to install the new printer to your system. No wizards and no questions to answer. The driver is directly downloaded from the printer server.

Related Content:

ARTICLE TOOLS

Comments
  • Lucid
    5 years ago
    Mar 20, 2007

    Lucid has developed a system called PrinterSetup which automates print cue creation on *NIX systems. If you are a Microsoft Windows developer and are interested in working with us to port this free open-source system to Microsoft Windows, please contact us via our website : http://www.lucidsystems.org

    All the best from the Lucid Information Systems Team

  • Anonymous User
    7 years ago
    Aug 18, 2005

    for WinNT 4 you can use the con2prt.exe available in the Zero Administration Kit for Windows NT 4.0. Have a look in http://support.microsoft.com/?kbid=181663

  • Anonymous User
    7 years ago
    May 24, 2005

    Very useful article, but which Operating System does it work with ?

  • Anonymous User
    7 years ago
    May 11, 2005

    What is required if I want to install pre-configured printer drivers (ie. duplex is enabled) via the command lines ?

    What files are needed and does anyone know if this is support via remote management tool (ie VNC) ?

  • Anonymous User
    7 years ago
    May 10, 2005

    As to restoring from an /ss generated data file. I've found that the data file contains the computer name the data file was generated from. I tried replacing the name with the workstation name to be installed (with script) but it still does not work.

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

White Papers

Get your Windows 7 deployment off to the right start by implementing PC lockdown. A locked-down environment is easier and cheaper to support since users are less likely to make unnecessary changes to the core system configuration - read more here!

Essential Guides

Is your iSCSI "lossy"? The reality is that most off-the-shelf Ethernet hardware deployed for iSCSI can lose packets, resulting in slow performance or application downtime. Learn how to assess your current iSCSI infrastructure and engineer an advanced iSCSI SAN infrastructure.

Web Seminars

What's the best way to keep your network safe from malware? In this web seminar, security expert Greg Shields suggests an alternative method to the traditional blacklisting approach that is common with anti-virus and anti-malware solutions.

eLearning Series

We bring the experts direct to you to share their real-world perspective and expertise. During each event, three sessions stream in real time, so you can learn, ask questions, and get solutions.
Upcoming event: Getting the Most with Exchange 2010 with Paul Robichaux

Subscribe to Windows IT Pro!

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.