Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


May 2006

Per-Machine Printer Connections + Custom Plug-In

The result is an easy way to manage your network printers
RSS
Subscribe to Windows IT Pro | See More Jscript Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Download the Code Here

STEP 2: Learn the PMPMgr.js Command-Line Syntax
After you've registered the PMPMgr.wsc component, you'll be able to use PMPMgr.js. This script's command-line syntax is as follows:

[cscript] PMPMgr.js [[@]computer] 
  /shared | /list | /exists:[@]printer | 
  /add:[@]printer | /delete:[@]printer 

Here's a description of each syntax element:

  • The cscript keyword at the beginning of the command is only required when CScript isn't your default script host. To set CScript as your default host, run the command
    cscript //H:CScript //Nologo //S 
  • The computer argument specifies a computer name. If you use the @ character, the computer argument refers to a text file containing a list of computer names (one name per line). If you don't specify this argument, PMPMgr.js assumes the current computer.
  • The /shared option lists the printers shared from the print server(s) specified by the computer argument.
  • The /list option lists the per-machine printer connections on the computer(s) specified by the computer argument.
  • The printer argument specifies a printer name in Universal Naming Convention (UNC) format (\\printserver\printername). If the printer name contains spaces, enclose it in double quotes (" "). If you use the @ character, the printer argument refers to a text file containing printer names in UNC format (one name per line).
  • The /add option adds the per-machine printer connection(s) specified by the printer argument.
  • The /delete option deletes the per-machine printer connection(s) specified by the printer argument.

STEP 3: List the Shared or Per-Machine Printer Connections
The PMPMgr.js script's /shared option lists the shared printers shared from a print server. For example, you can run the following command to list the printers on the print server named PS1:

PMPMgr.js PS1 /shared 

PMPMgr.js produces tab-delimited output that you can redirect to a text file. Figure 1 shows an example of the script's output.

You can also list the printers shared from multiple print servers with a single command. Place a list of print servers in a text file, and specify the text file's name immediately following the @ character. Figure 2 shows a sample text file, PrintServers.txt. The following command lists the shared printers for each computer specified in the Print-Servers.txt input file and redirects the results to the PrintServers.tsv output file:

PMPMgr.js @PrintServers.txt 
  /shared > PrintServers.tsv 

To list the per-machine printer connections installed on one or more computers, use the /list option instead of the /shared option in the command just given.

STEP 4: Add or Delete Per-Machine Printer Connections
To add or delete per-machine printer connections, you use the PMPMgr.js script's /add or /delete option, respectively. For example, the following command adds the printer \\PS2\HP LaserJet 1300 to the computer RECEPTION1:

PMPMgr.js RECEPTION1 
  /add:"\\PS2\HP LaserJet 1300" 

To add or delete multiple printers at once, you can create a text file that contains a list of printers, one printer per line. Figure 3 shows a sample text file, Printers.txt, that contains a list of printers. The following command adds the printers in listed Printers.txt to the computer RECEPTION2:

PMPMgr.js RECEPTION2 
  /add:@Printers.txt 

Note that if a user is logged on when you add or delete per-machine printers, the changes won't appear in the user's Printers window until the next time he or she logs on. To see the changes immediately, you need to restart the computer's Print Spooler service.

I designed the PMPMgr.wsc component and PMPMgr.js script to be tolerant of errors, but you must run PMPMgr.js under an account that's a member of the current computer's local Administrators group. If you're working with remote computers, you must be a member of each remote computer's local Administrators group as well. If you run PMPMgr.js under an account with insufficient permissions, you might see a Printer User Interface dialog box, which will pause the script. You must dismiss the dialog box before the script will continue.

A Better Way to Manage Printers
Per-machine printer connections have saved me a lot of time and trouble. The PMPMgr plug-in makes using these connections much easier. Download the PMPMgr.wsc and PMPMgr.js files and start taking advantage of per-machine printer connections today.

Solution Snapshot

PROBLEM: The command-based interface to manage per-machine printer connections in Windows 2000 and later is awkward.
SOLUTION: Use the PMPMgr plug-in to more easily manage per-machine printer connections.
WHAT YOU NEED: PMPMgr.wsc, PMPMgr.js, Windows 2000 or later, Windows Script Host (WSH) 5.6
DIFFICULTY: 3 out of 5
SOLUTION STEPS:

  1. Register PMPMgr.wsc.
  2. Learn the PMPMgr.js command-line syntax.
  3. List the shared or per-machine printer connections.
  4. Add or delete per-machine printer connections.

End of Article

   Previous  1  [2]  Next  


Reader Comments
Cool. I've been looking for a way to do this for ages...

ctcmptrdr May 08, 2006 (Article Rating: )


How do I download.. I don't see a download link

jaycarnes May 10, 2006 (Article Rating: )


How do I download.. I don't see a download link

phatlt23 May 10, 2006 (Article Rating: )


Hi there, I have tried your utility and it seems to work fine till I register it and use it to view shared printers on my server. However when I try to list machine connected printers for any network computer or add a machine connected printer to any network computer (the whole point of the utility), it throws and error saying it couldn't enumerate printers because the Print Spooler service is not runnig. Now I have checked on both computers i.e. the server and where I want printers added, the Print Spooler service is running and also set to Automatic. Not sure what is going wrong here. I have tried restarting the service as well but no help. Has anyone come across this problem and resolved it? If yes then reply please.

mnit May 15, 2006 (Article Rating: )


I was able to use the native windows printui.dll commands. When I tried to use the utility I got an error at line 330, 'named' is null, or not an object. When I try to set cscript as default I got a message saying that the scripting language could not be changed. However, I recieved line error 330 even when using cscript to run the script explicitly.

j.e.taylor May 15, 2006 (Article Rating: )


Great idea but keep in mind any printers setup this way will need to be deleted this way. In looking at this printui.dll function in months past I finally found it only 1/2 useful I found no way to set the newly installed printer on the remote machine as default...what gives?

jhusted May 16, 2006 (Article Rating: )


mnit: Make sure the Windows firewall isn't blocking connections. j.e.taylor: My guess is you're usin a Windows 2000 machine without WSH 5.6. Install IE 6 or WSH 5.6. jhusted: As the article states, "Users only need to be shown how to set their default printer." That's separate from what the script component and command-line utility does. Regards, Bill

AbqBill May 19, 2006 (Article Rating: )


where is the downloadlink??

marcstrobbe May 22, 2006 (Article Rating: )


Where is the dl link?

chirishtown May 22, 2006 (Article Rating: )


Using a logon script in a GPO is a much better way to go, unless the network is very small, and without a domain. You can set the default printer, automatically prune printers that have been disconnected, use conditional statements for different users or computers...

sandiegocal May 27, 2006 (Article Rating: )


 See More Comments  1   2 

You must log on before posting a comment.

If you don't have a username & password, please register now.




Learning Path Want to know more about per-machine printer connections?
"“Predefine Printers for Computer Lab Users,”"


Want to know more about WSC?
"“Is WSC Right for You?”"

"“Use WSC to Write Reusable Code,”"

"“WSH, Part 3: Windows Script Components,”"


Want to know more about per-machine printer connections?
"“PrintUI.DLL User's Guide and Reference,”"


Top Viewed ArticlesView all articles
Friday at PASS Europe 2006

Kevin talks about the closing day of the event and shares a funny Microsoft film. ...

Google's Browser Created Out of Fear of Microsoft

A deep fear of Microsoft drove Google to create its own Web browser, the company's cofounders implicitly admitted Tuesday, though each was careful never to mention the software giant by name. Instead, during a press conference, Google's leaders discussed ...

Let's Get Out of the (Network) Neighborhood

Network Neighborhood might've made sense way back when, but it's long past obsolete today. ...


Task Automation Whitepapers Essential Guide to E-discovery and Recovery for Microsoft Exchange

Continuous Data Protection and Recovery for Microsoft Exchange

Protecting (You and) Your Data with Exchange Server 2007

Related Events Check out our list of Free Email Newsletters!

Task Automation eBooks Spam Fighting and Email Security for the 21st Century

A Guide to Windows Certification and Public Keys

Keeping Your Business Safe from Attack: Patch Management

Related Task Automation Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.

Job Openings in IT


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

IT Connections
Dive into the new Microsoft platforms and products you implement and support with the experts from Microsoft, TechNet Magazine, Windows ITPro and industry gurus. There are 70+ sessions and interactive panels with networking opportunities.

Attention User Group Leaders...
Announcing the eNews Generator—a FREE HTML e-newsletter builder for user group leaders. Build your HTML and text e-newsletters in minutes and add Windows IT Pro & SQL Server Mag articles alongside your own message!.

Master SharePoint with 3 eLearning Seminars
Learn how to build a better SharePoint infrastructure and enable powerful collaboration with MVPs Dan Holme and Michael Noel. Register today!

Get SQL Server 2008 at WinConnections
Don’t miss Microsoft Exchange and Windows Connections conferences, the premier events for Microsoft IT Professionals in Las Vegas, November 10-13. Every attendee will receive a copy of SQL Server 2008 Standard Edition with one CAL.



Order Your SQL Fundamentals CD Today!
Learn how to use SQL Server, understand Office integration techniques and dive into the essentials of SQL Express and Visual Basic with this free SQL Fundamentals CD.

Virtualization Congress Oct. 14-16 in London
Don't miss Virtualization Congress, the premiere EMEA conference dedicated to hardware, OS and application virtualization. Oct. 14-16.
Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technical Resources Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing