IPAddr

The PrinUI DLL function allows computer administrators to automatically add new printers, change settings for an existing printer or delete printers from the MS-DOS command line or from inside a command (batch) file. This means that if you need to make the same changes to many computers you can just get all of the computers to run a batch file stored on the network to make the same changes to every computer


  Usage: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]
    /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 | IA64 | x64
    /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/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, 98 and Me |
                Windows NT 4.0 | Windows NT 4.0 or 2000 | Windows 2000 or XP | Windows XP
    /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
    /Y do not auto generate a printer name
    /K changes the meaning of /v and /h to accept 0,1,2,3, respectively for Windows x64 
       and Windows IA64 | Windows NT x86 | Windows NT Alpha_AXP | Windows 4.0
    /Z share this printer, can only be used with the /if option
    /? help this message
    @[file] command line argument file
    /Mw[message] show a warning message before committing the command
    /Mq[message] show a confirmation message before committing the command
    /W[flags] specifies flags and switches for the wizards (for APW & APDW)
	r	make the wizards to be restart-able from the last page
    /G[flags] specifies global flags and switches
	w	suppress setup driver warnings UI (super quiet mode)

Examples:

OptionCommand
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 or XP" /f %windir%\inf\ntprint.inf
Add printer driver using inf:rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3
Remove printer driver:rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000 or XP"
Remove printer driver:rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3
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,PrintUIEntry /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