1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
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 |