Solved

Create a Batch File

Posted on 2004-04-06
6
1,325 Views
Last Modified: 2008-02-01
I would like to create a Batch File that when run would connect all the network printers in the office.  We do not use roaming profiles so when a user logs into a different machine they have to install the printers again.  Any help would be greatly appreciated.
0
Comment
Question by:wgavin
  • 4
  • 2
6 Comments
 
LVL 67

Expert Comment

by:sirbounty
Comment Utility
How many printers?

You should be able to get by with something like this (if 3 or less):

---mapPrn.bat----
@echo off
net use LPT1: \\server\printer1
net use LPT2: \\server\printer2
net use LPT3: \\server\printer3
-----------------
0
 

Author Comment

by:wgavin
Comment Utility
We currently have 16 networked printers and copiers.  Does this make a big difference?
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 125 total points
Comment Utility
Yes - makes a big difference...
Not sure this is the most effective way to do this (via batch file) - but that's what you've asked for...

You didn't mention what operating system they're using...??

Try this instead: (should work across NT/2k/XP) - other optional parameters are listed below.

-----mapPrn.bat-------
::\\server is the server name you would use -alter this entry as needed
::/m should be altered to reflect the model of each printer used
::
::/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
::
::These two lines would need to be repeated for each printer you wanted to install
::
rundll32 printui.dll,PrintUIEntry /ia /c\\server /m "AGFA-AccuSet v52.3" /h
"Intel" /v "Windows 2000" /f %windir%\inf\ntprint.inf
rundll32 printui.dll,PrintUIEntry /if /b "My Printer" /c\\SERVER /f
"%windir%\inf\ntprint.inf" /r "lpt1:" /m "AGFA-AccuSet v52.3"
------------------------------------------------------------
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
   /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, 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 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:
   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 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

ref: http://support.microsoft.com/?kbid=314486
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:wgavin
Comment Utility
I agree but this is what they want.  Thanks very much for your help.
0
 
LVL 67

Expert Comment

by:sirbounty
Comment Utility
Here's the other thing - as far as 'local ports' that you can use for these printers, you're essentially limited to
LPT1, 2 & 3 & COM1, 2, 3 & 4...and that's if these aren't in use...but, that's only 7 available local ports.

How are these printers attached to the network?  Do they have their own network interface, or are the connected to individual machines?  Are the maintained via a single printer server?  If so, you can probably add additional TCP/IP ports to the each of the workstations to accomodate that number of printers....
0
 
LVL 67

Expert Comment

by:sirbounty
Comment Utility
Thanx - you've got a long journey ahead of you...
Good luck!

Some other reference for adding TCP ports...http://www.microsoft.com/windows2000/en/server/help/sag_setup_direct_printer.htm
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

TOMORROW TOMORROW.BAT is inspired by a question I get asked over and over again; that is, "How can I use batch file commands to obtain tomorrow's date?" The crux of this batch file revolves around the XCOPY command - a technique I discovered w…
Being a system administrator some time we require to do things remotely, one of them is installing software. Here I am going to tell you how to install software through wmic (Windows management instrument console). I am not at all saying that this i…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now