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

Managing printers is an unexciting but unavoidable responsibility for Windows systems administrators. Microsoft has put a lot of work into the Windows GUI to make printers easier to find and install, but users are still responsible for adding the printers they need to use. When printers are located together geographically or when users always log on to the same computers, adding printers can potentially be a one-time event. However, when users log on to computers in different geographical areas, adding printers can become a fairly regular occurrence. Depending on the number of users and their level of sophistication (or lack thereof), finding and installing printers can generate a lot of Help desk calls.

One reason why users might need help is that Windows' Add Printer wizard only adds printers to the current user's profile. Unfortunately, there's no option in the GUI to log on as an administrator and add one or more printers that will appear for all users. The problem gets even more complicated when a print server needs to be upgraded or replaced and users have to add the new and delete the old printers.

Microsoft must have recognized this limitation, so starting in Windows 2000, it introduced the ability to add per-machine printer connections to a computer. A per-machine printer connection is a network printer connection that appears for all users. This capability lets you add a printer to a computer only once, and any user that logs on to the computer sees the printer. Users only need to be shown how to set their default printer. In addition, in cases in which a print server is replaced, you can simply delete the old per-machine printer connections and add the new per-machine printer connections. In this scenario, users no longer need to worry about adding and deleting their own printers if the required printers are already available to them.

Strangely, this useful capability isn't well documented. Even worse, the only way to take advantage of per-machine printer connections is to type long, cumbersome commands. For example, to add the printer \\PS3\HP 4600dn as a per-machine printer connection to the computer COMPUTER2, you have to type the command

/c\\COMPUTER2 /ga 
/n"\\PS3\HP 4600dn" 

To list the per-machine printer connections on COMPUTER2, you have to run the command

rundll32 printui.dll,PrintUIEntry
  /c\\COMPUTER2 
  /ge /f"C:\Printers.txt" 

This command saves COMPUTER2's list of per-machine printer connections in a text file named C:\Printers.txt. However, this file contains more than just the printer names, so you have to edit or parse it to extract just the printer names.

As you can see, the command-based interface for managing per-machine printer connections is awkward. I needed a better solution, so I created the PMPMgr plug-in that lets me manage per-machine printer connections more easily. This plug-in consists of a Windows Script Components (WSC) file named PMPMgr.wsc and a script named PMPMgr.js. The PMPMgr plug-in provides an easy-to-use command-line interface for managing per-machine printer connections. You can download the PMPMgr plug-in by clicking the Download the Code button at the top of the Web page. To use this plug-in, you don't need to adapt the PMPMgr.wsc and PMPMgr.js files in any way. You just need to perform four 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.

STEP 1: Register PMPMgr.wsc
Before you can use the PMPMgr plug-in to manage your per-machine printer connections, you must register the PMPMgr.wsc component. The registration process adds the registry entries that make the component's object available to the system. To register the component, right-click the PMPMgr.wsc file in Windows Explorer and choose Register. Alternatively, you can register it from the command line with the command

regsvr32 /i:"[path\]PMPMgr.wsc" 
  %SystemRoot%\system32\scrobj.dll 

where path is the path to the component on your system. (Although this command appears on several lines here, you would enter it on one line in the command-shell window. The same holds true for the other multiline commands in this article.) Conversely, if you want to unregister the component, right-click the PMPMgr.wsc file and choose Unregister. To unregister it from the command line, type the command

regsvr32 /u /n /i:"[path\]PMPMgr.wsc" 
  %SystemRoot%\system32\scrobj.dll 

To run either command without displaying the dialog box message, add the /s option immediately after regsvr32 in the commands just given. You must be a member of the local Administrators group to register or unregister the component.

   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
The Memory-Optimization Hoax

Don't believe the hype. At best, RAM optimizers have no effect. At worst, they seriously degrade performance. ...

How can I uninstall the Microsoft Java Virtual Machine (JVM) from Windows XP?

...

What service packs and fixes are available?

...


Task Automation Whitepapers Continuous Data Protection and Recovery for Microsoft Exchange

Protecting (You and) Your Data with Exchange Server 2007

A Preliminary Look at Deployment Plans for Microsoft Windows Vista

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.


ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

Critical Challenges of ESI & Email Retention
Are you storing too much electronic information? Get expert legal advice and better understanding of what you are required to do as an IT professional.

Become a fan of Windows IT Pro on Facebook!
Join us on Facebook and be a fan of Windows IT Pro!

Sustainable Compliance: Are You Having a Resource Crisis?
Read this white paper to examine trends in compliance and security management and review approaches to reducing the cost and operational burden of compliance.

Rev Up Your IT Know-How with Our Recharged Magazine!
The improved Windows IT Pro provides trusted IT content with an enhanced new look and functionality! Get comprehensive coverage of industry topics, expert advice, and real-world solutions—PLUS access to over 10,000 articles online. Order today!

Get It All with Windows IT Pro VIP
Stock your IT toolbox with every solution ever printed in Windows IT Pro and SQL Server Magazine plus bonus Web-exclusive content on hot topics. Subscribe to receive the VIP CD and a subscription to your choice of Windows IT Pro or SQL Server Magazine!



Order Your Fundamentals CD Today!
Gain an introduction to Exchange, learn server security requirements, and understand how unified communications can play a role in your messaging strategies with this free Exchange CD.
Windows IT Pro Home Register About Us Affiliates / Licensing Media Kit Contact Us/Customer Service  
SQL Connected Home IT Library SuperSite FAQ Wininfo News
Europe Edition Office & SharePoint Pro Windows Dev Pro Windows Excavator 
 
 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