How To: Manage a Shared USB Printer in Workgroup Manager

UPDATED: To the best of my knowledge, this method does not work on OS X 10.5 Leopard, or OS X 10.6 Snow Leopard, due to changes in the way the printing system works in those versions of the Operating System.

While configuring our Middle and Upper School art rooms at work, I ran into an issue that was potentially going to cause a massive headache.  How to use Workgroup Manager (WGM) to manage a local, shared USB printer?

Managing networked printers is easy with WGM, it even lets you decide if users have the ability to connect their own local USB printer.  It does not, however, allow you to share this local printer and manage it.

What’s an admin to do?  The first thing I did was start digging around for property list files, and that’s exactly where I found my answer.

Let’s say iMac A has a USB printer connected and I want to manage it on iMac B,C, and D.  Printer sharing is turned on for iMac A, and the USB printer is shared.  Navigate to:

~/Library/Preferences/com.apple.print.favorites.plist

Open it in Property List Editor.  Under the Always key, you should see something like Name_of_USB_Printer@iMacA.local This is the print qeue and machine name (or IP address).  Import this .plist file into WGM for the appropriate user, group, or computer group you want to manage and voila, it’s managed!  If you do not see this property list file in the location above, you can manually create it yourself.

Create a new file in Property List Editor and click New Root.  Click the disclosure triangle next to the word root and click New Child.  Type the print qeue and machine name (or IP address), separated by an @.  In the class column, choose Boolean.  In the value column, choose Yes or True.  Save this file as com.apple.print.favorites.plist.

There are a few caveats to this method:

  • This printer will only be available as long as iMac A is powered on and has an active network connection.  Leaving iMac A at the login window is fine.
  • There’s no way that I’m aware of to set the USB printer as the default, unless its the only printer available.
  • If you allow access to the Printer Setup Utility and the Print and Fax System Preferences preference pane, users can add additional printers.  These additional printers will be removed at the user’s next login.
  • This method cannot be used with WGM’s GUI for managing printers (MCX printer preferences), they step on each other’s toes and nothing works.
  • I prefer to give iMac A a static IP address in the Networking preference pane (DHCP with manual address), and also in our DHCP server.  This helps to ensure the other iMacs can always find iMac A.

If you wish to manage any additional networked printers for this user/group/computer group, you must do so in this method.  For this reason, it is wise to do this by computer group.  Add the additional printers you want to manage to iMac A, and make sure they are shared, just like the local USB printer.  In Property List Editor (or WGM’s built in editor), add new sibling keys for each of the additional printers in the same manner as above (Name_of_Printer@IPaddress).  Make the class Boolean and the value Yes or True.  Be sure to save your changes.

This solution works well for my setup, but as always, YMMV.  Please post a comment if you have questions or suggestions, or anything to add.

About the Author: acletras

acletras is the sole author of this blog. He creates and writes all content here, in addition to maintaining the site. Check out the About page for more info, or use the Contact page to drop him a line.

Leave a Reply