Deploy print queues using Jamf and Print Deploy
This topic explains how to deploy the PaperCutPrint Deploy client to a macOS client managed by Jamf Pro .
At a high level, the Print Deploy client is provided as a '.pkg', deployed by Jamf that will be configured via a '.plist' to communicate with the PaperCut Application Server to deploy the appropriate print queues with appropriate print drivers.
If you're interested in a different deployment method, here's a list of other deployment topics.
Before you start
This topic is for the following minimum software versions:
-
Jamf Pro: 10.12.0
-
PaperCut NG/MF: 19.1.0
-
macOS 10.13 (High Sierra) or higher
You need to be a Jamf Pro administrator (or have relevant permissions), and should have already:
-
macOS clients managed by Jamf Pro
-
existing, and appropriate groups in Jamf Pro.
You're also a PaperCut NG/MF administrator (or have relevant permissions), and should have already:
-
made sure that the PaperCut NG/MF Application Server is accessible via TCP 9191, 9192, 9174 from the targeted client machines—preferably by a FQDN (Fully Qualified Domain Name) rather than an IP address
-
set up your PaperCut Print Deploy Reference computer
-
deployed and manually tested at least one print queue.
You are working from your 'Documents' folder on your macOS machine.
Steps
To deploy the Print Deploy client using Jamf:
Step 1: (Optional) Customize the user login popup
Depending on the method you've chosen to determine the user's identity, users might be presented with a one-off user login popup for authentication. For details on how to customize the branding and text on the popup, go to Customize the Print Deploy user login popup branding and text.
Step 2: Create a .plist configuration file
The PaperCut Print Deploy Client use the '.plist' file to bootstrap itself.
-
Open a terminal and issue the following command:
defaults write ~/Documents/com.papercut.printdeploy.client server_host hostname
-
Replace the hostname with the FQDN from the '.dmg', for example, print-server.company.lan
-
Convert the '.plist' file with the following command:
/usr/bin/plutil -convert xml1 ~/Documents/com.papercut.printdeploy.client.plist
This prevents an error in Jamf 'Problem uploading file. Plist files must be in XML format.
-
Verify the contents of the new '.plist' with the following command:
defaults read ~/Documents/com.papercut.printdeploy.client.plist
The output should be:
macOS:Documents localadmin$ defaults read ~/Documents/com.papercut.printdeploy.client.plist
{
"server_host" = "print-server.company.lan";
}
macOS:Documents localadmin$
Step 3: Add your '.plist' to Jamf Pro
-
Log in to your Jamf Pro instance, for example, https://your-company.jamfcloud.com
-
Click Computers > Configuration Profiles; then click + New.
-
Type the display name and description.
-
On the left, scroll down to Custom Settings; then click Configure.
-
Click Upload PLIST file and navigate to the '.plist' file.
-
Click the Scope tab and deploy the file to the appropriate computers.
-
Click Save.
During testing, ensure that the filename and path is exactly this:
/Library/Managed Preferences/com.papercut.printdeploy.client.plist
In some rare situations the filename is deployed with .plist.plist which will not work.
If you are using different device management products, you can create your own '.plist' and deploy it to your workstations. Make sure the file is created in:
/Library/Managed Preferences/com.papercut.printdeploy.client.plist
Step 4: Download and extract the Print Deploy client
If you are installing the Print Deploy client manually, you don't need to extract the '.pkg' from the downloaded '.dmg'.
-
Log in to your PaperCut NG/MF server, for example, https://print-server.company.lan:9192/admin
-
Click Enable Printing > Print Deploy. The Print Deploy page is displayed.
-
At the bottom of the page, next to Download clients click the macOS button.
-
Save the .dmg file to your Documents folder.
-
Look at the filename and check that the hostname between the square brackets is correct, for example, 'pc-print-deploy-client[print-server.company.lan].dmg'
-
Double-click the .dmg file and copy PaperCut Print Deploy Client.pkg to the Desktop.
Step 5: Add your .pkg to Jamf Pro
-
Log in to your Jamf Pro instance, for example, https://your-company.jamfcloud.com
-
Click All Settings > Packages; then click New.
-
Leave the Display Name as is for now.
-
Click Choose File; then navigate to the downloaded Print Deploy client on the Desktop (extracted from the '.dmg' in the previous step).
-
Rename the Display Name, for example, remove .pkg.
-
Click Save.
Step 6: Deploy the PaperCut Print Deploy client
-
Log in to your Jamf Pro instance, for example, https://your-company.jamfcloud.com
-
Click the Computers tab > Policies ; then click + New.
-
Type the Display Name.
-
Set the appropriate triggers.
-
Click Packages ; then click Configure.
-
Next to the recently uploaded 'PaperCut Print Deploy Client' package, click Add.
-
Click the Scope tab and deploy to the appropriate computers.
-
Click Save.
Step 7: Verify your deployment
Depending on your Jamf environment, you should be able to trigger the deployment of your new PaperCut Print Deploy client via the following command in Terminal (requires sudo access): sudo jamf policy
After you issue the command the Print Deploy client is deployed to the computer along with the bootstraping '.plist' file.
Print queues are then installed as required. You can see them in System Preferences > Print & Scan (or if enabled, the CUPS web interface).
Some environments will present the logged in user with a username and password prompt.
Default printer
As of v1.3 of Print Deploy, you can now set one print queue in each zone as the default by selecting "Set as default" on the print queue's options button (⋯) within the zone.
Prior to v1.3 or if there is no default print queue set in a zone, the Print Deploy client sets the default print queue based on if a print queue name is a Find me queue (or variation of, with spaces/hyphens in between).
However, if Windows has been set up to manage the default printer for users, then the client honors this setting. Disable this setting if you intend the client to honor the default print queue from the server.