Skip to content
This repository has been archived by the owner on Dec 12, 2022. It is now read-only.
Matthew Warren edited this page Jan 27, 2017 · 9 revisions

Self Service Printer Installer is a collection of scripts aimed at helping you create a simple solution for your users (and technicians!) to install networked printer queues on their Macs via JAMF Self Service. While Apple's GUI found in System Preferences is great, it requires a bit of knowledge to properly configure a networked printer. Selecting the correct driver, specifying the appropriate options – lots of potential points of failure. And your users want to print, not learn about the difference between "Paper Size" and "Imageable Area"!

Why?

"But doesn't JAMF provide the ability to upload your printer configurations to the JSS, then deploy them via policy?"

Of course. Unfortunately, many administrators note inconsistent behavior with JAMF's queue mapping functionality. Sometimes the wrong driver is used or incorrect defaults are applied. Additionally, you must first add every queue to your own Mac, then import each one using Casper Admin.

Plus there's the question of scale. If you work in a large organization, do you really want to maintain potentially hundreds of JAMF policies just for each individual device in your printer fleet?

Self Service Printer Installer offers an alternative. A single Python script holds all your printer configurations in a flexible, plaintext data format and enables your users to install a printer with just a few clicks, ensuring the correct drivers are used and default options specified.

Self Service Example

GUI Example

Details and Features

  • Provides a simple, brand-able dropdown GUI for displaying a list of available printers.
  • Detects already-installed printers and does not present the option to install them to prevent duplications and confusion.
  • Detects if a required vendor driver is present on the client system; if not, attempts to install it via a JAMF policy.
  • Allows you to specify a default driver, such as "Generic PostScript", for printers not requiring a vendor driver.
  • Allows you to "pre-select" a queue for installation by specifying a queue name as a JAMF policy argument – don't repeat yourself by maintaining multiple scripts!
  • Allows you to filter based on any printer configuration "attribute" to tailor the list of available printers to a desired user scope; i.e. only show the printers physically located in the building where a user works, or only display printers with color printing capabilities.
  • ...plus more to come.

Getting Started

There's some legwork involved on the administrator's part, of course. Each environment and printer fleet is unique.