Here's the script:
::==============================================
::Written by Matt Lieblong Copyright 2009-2010
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET P1=%AestheticNameOfPrinter
SET PIP1=%1x.x.x.x
SET PNAME1=%"TOSHIBA eS452/453Series PCL6"
SET PDRIVER1=%"[URL="file://localsitepcname/PRINTERDRIVERS/352-353-452-453/eB4ox2.inf"]\\LocalSitePCname\PRINTERDRIVERS\352-353-452-453\eB4ox2.inf[/URL]"
SET P2=%AestheticNameOfPrinter2
SET PIP2=%1x.x.x.x
SET PNAME2=%"TOSHIBA e-STUDIO Series Fax"
SET PDRIVER2=%"[URL="file://localsitepcname/PRINTERDRIVERS/ALLMODELSLANFAX/eS4cfx2k.inf"]\\LocalSitePCname\PRINTERDRIVERS\ALLMODELSLANFAX\eS4cfx2k.inf[/URL]"
SET P3=%AestheticNameOfPrinter3
SET PIP3=%1x.x.x.x
SET PNAME3=%"TOSHIBA eS452/453Series PCL6"
SET PDRIVER3=%"[URL="file://localsitepcname/PRINTERDRIVERS/352-353-452-453/eB4ox2.inf"]\\LocalSitePCname\PRINTERDRIVERS\352-353-452-453\eB4ox2.inf[/URL]"
FOR %%N IN (1 2 3) DO (
SET P=!P%%N%!
FIND | REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\!P!"
IF ERRORLEVEL 1 (
SET PIP=!PIP%%N%!
SET PNAME=!PNAME%%N%!
SET PDRIVER=!PDRIVER%%N%!
ECHO !P!
ECHO !PIP!
ECHO !PNAME!
ECHO !PDRIVER!
cscript.exe c:\windows\system32\prnport.vbs -a -r !P! -h !PIP! -o raw -n 9100
rundll32 printui.dll PrintUIEntry /if /b !P! /f !PDRIVER! /r !P! /m !PNAME! /z
)
)
::END OF SCRIPT, AFTER CUSTOMIZING FOR A SITE, DELETE EVERYTHING PAST THIS LINE
::THE FOLLOWING IS LOCAL PRINTER VARIABLE TEMPLATE INFO
::DEFINE A MASTER DRIVER FOLDER, FROM WHICH TO COPY THE VARIOUS MODEL'S INFO
::TO A PRINTER VARIABLE DECLARATION ABOVE (THIS JUST SPEEDS UP WRITING MULTIPLE
::SCRIPTS). ONCE SCRIPT IS WRITTEN, DELETE THIS PARAGRAPH AND EVERYTHING BELOW,
::NAME FILE AS PRNSITENAME.BAT OR SIMILAR TO BE SAVED IN DOMAIN sysvol OR policy
::FOLDERS.
::202-203-232-233-282-283
:: TOSHIBA eS282/283Series PCL6
:: \PRINTERDRIVERS\202-203-232-233-282-283\eB2ox2.inf
::
::352-353-452-453
::TOSHIBA eS452/453Series PCL6
::\PRINTERDRIVERS\352-353-452-453\eB4ox2.inf
::
::520-523-600-603-720-723-850-853
:: TOSHIBA eS850/853Series PCL6
:: \PRINTERDRIVERS\520-523-600-603-720-723-850-853\eB8mx2.inf
::
::205-255-305-355-455
::TOSHIBA e-STUDIO455Series PCL6
:: \PRINTERDRIVERS\205-255-305-355-455\eS4px2.inf
::
::ALLMODELSLANFAX (for all toshiba models' print-to-fax feature)
:: TOSHIBA e-STUDIO Series Fax
:: \PRINTERDRIVERS\ALLMODELSLANFAX\eS4cfx2k.inf
::
::Dell1710n
:: Dell Laser Printer 1710n
:: \PRINTERDRIVERS\Dell1710n\DKAAY2DA.inf
::
::Dell1720dn
:: Dell Laser Printer 1720dn
:: \PRINTERDRIVERS\Dell1720dn\c.inf (yes the file is named c.inf)
::
::Dell2330dn
:: Dell 2330d Laser Printer
:: \PRINTERDRIVERS\Dell2330dn\DKACHL40.inf
::
::Dell2335dn
:: Dell 2335dn MFP
::\PRINTERDRIVERS\Dell2335dn\sdf1m.inf
::
::Dell3130c
:: Dell 3130cn Color Laser PCL6
:: \PRINTERDRIVERS\Dell3130c\dlxbmzi.inf
::
::Lexmark T630-T632
:: Lexmark T630
:: OR
:: Lexmark T632
:: \PRINTERDRIVERS\LexmarkT630-T632\lmaaga40.inf
::
::HP OfficeJet Pro L7700
:: HP Officejet Pro L7700 Series BT
::
::
::TEMPLATE TO MACHINE INSTALL A LOCALLY SHARED PRINTER ON ANOTHER MACHINE
::SO FAR TESTS REQUIRE NO INSTALL CHECK, AS IT WILL NOT INSTALL DUPLICATES
::IF ALREADY INSTALLED...
::LOCAL SHARE OF HP4 PRINTER INSTALL on computer [computername] used by [users name]:
:: RUNDLL32 PRINTUI.DLL PrintUIEntry /ga /in /n\\computername\printersharename
::TO DELETE A LOCALLY INSTALLED PRINTER (WHICH IS WHAT THE ABOVE SCRIPT INSTALLS)
:: RUNDLL32 PRINTUI.DLL PrintUIEntry /dl /n "printername" /q
::NOTES ON USING THIS SCRIPT:
::THIS SCRIPT IS IDEAL FOR AUTOMATICALLY INSTALLING PRINTERS ACROSS VARIOUS WAN SITES
::USING GP/GPO FEATURES. USEFUL FOR THOSE WHO HAVE NUMEROUS WAN SITES, BUT NOT PRINT
::SERVERS AT ALL WAN SITES, ESPECIALLY WITH SLOW CONNECTIONS TO A CENTRAL HUB OR MAIN
::PRINT SERVER. TO USE THIS SCRIPT, YOU MUST USE/SETUP THE FOLLOWING:
::
::1. ACTIVE DIRECTORY/GROUP POLICY FUNCTIONALITY
::2. AD ORGANIZATIONAL UNIT FOR EACH WAN SITE, WITH ALL RESPECTIVE PC'S ASSIGNED WITHIN
::3. GPO FOR EACH SITE, WITH ONLY ONE SETTING: ASSIGN MACHINE STARTUP SCRIPT WITH
:: RESPECTIVE WAN SITE'S UNIQUE SCRIPT LISTED
::4. GPO TO ENABLE THE "UNSIGNED DRIVER INSTALLATION BEHAVIOR" TO "SILENTLY SUCCEED",
:: THIS GPO IS MOST SIMPLY ASSIGNED TO THE OU CONTAINING ALL WAN OU'S, OR COULD
:: BE INCORPORATED INTO EACH WAN SITE'S STARTUP SCRIPT GPO.
::5. FOR SITUATIONS WITH SLOW LINKS BETWEEN WAN SITES AND CENTRAL HUB FILESERVERS,
:: CREATE A "PRINTERDRIVER" SHARE ON ONE COMPUTER AT EACH WAN SITE, FROM WHICH
:: TO SERVE THE INF-BASED LOCAL PRINTER INSTALLATIONS. THIS SPEEDS UP DRIVER
:: DOWNLOADS SIGNIFICANTLY, AND HAS LITTLE EFFECT ON SHARING PC OVERALL.
::
::I WROTE THIS AS I COULD FIND NOTHING SIMILAR ELSEWHERE. IT'S ALL IN BATCH, IT'S QUITE
::RUDIMENTARY, HOWEVER IN MY CASE, I WAS ABLE TO WRITE AND DEPLOY THIS TO ~70 WAN SITES,
::WITHIN A WEEK USING THIS SCRIPT. MUCH EASIER AND FASTER IN THE LONG RUN THAN RUNNING
::A PRINT SERVER, IT CREATES IP PORTS AND LOCALLY INSTALLS NETWORK PRINTERS. PRINTERS CAN
::BE INSTALLED, MODIFIED, AND DELETED ALL WITHIN THE SCRIPT. THE INSTALL LOOP CONTAINS
::A REGISTRY CHECK TO DETERMINE IF A PRINTER HAS BEEN INSTALLED ALREADY AT THE REGISTRY
::LEVEL. INITIAL INSTALL TAKES A FEW SECONDS PLUS TIME TO COPY/DOWNLOAD THE DRIVER FROM
::YOUR LOCAL PRINTERDRIVER SHARE, PER PRINTER INSTALL. OVER A COMMON 10/100 SWITCH IT
::TAKES ABOUT 5-10 SECONDS FOR LARGER (7MB) MFP PRINTER DRIVERS.
::
::IF YOU ESTIMATE 5 MINUTES PER INSTALL, THIS ENABLED ME TO INSTALL ALL NETWORK OR SHARED
::PRINTERS AT OVER 70 WAN SITES WITH ABOUT 1 WEEKS WORTH OF WORK. EQUIVALENT TO SEVERAL
::MONTHS TIME IF PERFORMING MANUAL INSTALLS OF SAME PRINTERS.