Universal Print printer provisioning tool [To be deprecated soon]

Overview

Universal Print printer provisioning tool helps organizations deploy printers on users' Windows 10 devices using Microsoft Endpoint Manager.

In this document, we cover requirements, configurations and steps to use this tool.

This quick start guide explains how to enable Universal Print and set up a printer.

Important

New Universal Print CSP in Windows 11 replaces this tool. For details refer to Universal Print printer provisioning

Pre-requisites

Before using the tool, please ensure that the following steps have been completed:

  1. Meet the requirements as per Get Started documentation.

  2. Windows 10 devices need to have the latest Windows Update installed:

    1. Windows 10, version 2004: KB4571744
    2. For Windows 10, versions 1903 and 1909: KB4566116
  3. Windows 10 devices are enrolled with Microsoft Endpoint Manager

Setting-up:

Step 1: Download the Universal Print printer provisioning tool

Download all the files for Universal Print printer provisioning tool from Microsoft Download Center.

The download contains following files:

  1. UniversalPrintPrinterProvisioning.0.1.0.0.intunewin: This is a pre-packaged Intune Win32 app package that contains the printer provisioning tool. Using Microsoft Endpoint Manager this package needs to be deployed on all the devices where Universal Print printers need to be pre-provisioned.
  2. SamplePolicy.zip: This ZIP folder contains two files:
    1. printers.csv (sample): This file is an example. It may be used as a reference to create a list of printers that need to be added on the given set of users' devices.
    2. InstallPolicy.cmd is a simple script that copies the printers.csv config file to the appropriate folder on users' devices.
  3. EULA.rtf: The tool is under preview. Your use of the software operates as consent to the terms of the End User License Agreement (EULA), which is included with the tool in the file named “EULA.rtf”.

Step 2: Deploying the Intune Win32 app package

Using Microsoft Endpoint Manager deploy UniversalPrintPrinterProvisioning0.1.0.0.intunewin as a Windows app (Win32) on all the target devices where printers need to be pre-provisioned.

While deploying the package, most of the fields will be pre-populated. (like Install Behavior as System). Other fields should be populated as:

  1. Under Requirements:
    1. Operating System Architecture: Select both 32-bit and 64-bit.
    2. Minimum Operating System: Windows 10 1903 (minimum requirement for Universal Print)
  2. Under Detection Rules,
    1. Select Rules format as Manually configure detection rules and click on Add
    2. Select Rule type as MSI. Corresponding fields will be auto populated.
  3. Under Assignments, add the device groups that contain Windows 10 devices where printers need to be pre-provisioned.

For details on how to deploy Intune application package, refer to Intune Standalone – Win32 app management: Add a Win32 app to Intune.

Step 3: Create the list of printers printers.csv that need to be deployed on users' devices

Create a config CSV file with the list of printers. Name the CSV file as "printers.csv".

If you need to deploy different printers for different set of users, then you will need to create one printers.csv config file per user group.

Printers.csv file should contain:

  1. Header row with three column names: SharedID, SharedName, IsDefault

  2. Have one printer per row. Printer's SharedID, SharedName can be retrieved from Universal Print portal (see below image) or PowerShell.

    image-20200825170518854

Note

For reference, look at printers.csv sample downloaded as part of the package (SamplePolicy\printers.csv).

Step 4: Generate the custom Win32 application package (Intunewin file) to deploy printers.csv

Using the Microsoft Win32 Content Prep Tool create a custom Win32 application package (we will name it InstallPolicy.intunewin - you can use your own name). This custom application package will be used to deploy printers.csv file on users' devices.

Intune Standalone - Win32 app management: Prepare the Win32 app content for upload

Lets walk through each of the steps in detail:

  1. Universal Print printer provisioning tool download contains a command script"SamplePolicy/InstallPolicy.cmd" - This script can be used (as-is) to copy the printers.csv file on user's device.

  2. Place the following files in a single folder:

    • Printers.csv created in Step 3.
    • Command script (InstallPolicy.cmd) that was part of Universal Print printer provisioning tool download.

    prov-tool-install-policy-folder

  3. Download the Microsoft Win32 Content Prep Tool from GitHub as a zip file. This will download the Microsoft-Win32-Content-Prep-Tool-master.zip file to Downloads folder on your device.

    Win32-content-prep-tool-github-image

  4. Unzip the contents of the Microsoft-Win32-Content-Prep-Tool-master.zip file.

    Win32-Content-Prep-Tool-folder-image

  5. Launch Command Prompt and go to the folder where Microsoft Win32 Content Prep Tool files were unzipped.

    Run the IntuneWinAppUtil.exe command. When prompted, enter:

    • Source folder: The folder where list of printers (printers.csv) and InstallPolicy.cmd files are present.

    • Setup file: Path of the InstallPolicy.cmd file (or any other script that will be used to copy the printers.csv file on users' devices)

    • Output Folder: Folder where you will like the generated intunewin package file to be stored.

    • Do you want to specify catalog folder (Y/N): Enter N.

    Win32-Content-Prep-Tool-Input-prompt

    Once all the inputs are entered and you hit enter, tool will generate the intunewin package and show the following output:

    Win32-Content-Prep-Tool-Output

  6. The custom intunewin package InstallPolicy.intunewin is now generated and can be found in the output folder.

    IntallPolicy-intunewin-package

Step 5: Deploy the custom intunewin application package on users' devices

InstallPolicy.intunewin Win32 application package needs to be deployed on users' devices using Microsoft Endpoint Manager. Here are the steps:

  1. Launch Microsoft Endpoint Manager and go to Apps->All Apps.

  2. Click on Add

    Microsoft-Endpoint-Manager-Add-App

  3. Select app type as Windows app (Win 32)

    Microsoft-Endpoint-Manager-Select-App-Type

    Clicking on Select will launch a wizard.

  4. App information - Select the custom intunewin application package (InstallPolicy.intunewin) generated earlier and complete the other App information.

  5. Program - Printers can be deployed either at a user level (all devices of user) or device level only.

    If deploying at user level,

    • Under Install command enter InstallPolicy.cmd user install
    • Under Uninstall command enter InstallPolicy.cmd user uninstall
    • Under Install behavior, select User
    • For return codes, just keep the code type success. Rest of the return codes can be deleted.

    This will copy the printers.csv file to %AppData%\UniversalPrintPrinterProvisioning\Configuration on users' devices.

    Microsoft-Endpoint-Manager-add-app-program

    If deploying at device level,

    • Under Install command enter InstallPolicy.cmd device install
    • Under Uninstall command enter InstallPolicy.cmd device uninstall
    • Under Install behavior, select System

    This will copy the printers.csv file to either of the following folders depending on the device's architecture:

    • On x64 device: "%ProgramFiles(x86)%\UniversalPrintPrinterProvisioning\Configuration\"
    • On x86 device: "%ProgramFiles%\UniversalPrintPrinterProvisioning\Configuration\"

    For the rest of this document, we will proceed with context as user. There may be a few changes required in the steps below if you want to deploy at device level.

    For Device restart behavior select No specific action.

  6. Requirements -

    • Operating system architecture: Select both 32-bit and 64-bit.
    • Minimum operating system: Select Windows 10 1903 (minimum requirement for Universal Print)

    Microsoft-Endpoint-manager-add-app-requirements

  7. Detection rules -

    • Rules format: Select Manually configure detection rules
    • Click on Add
      • Rule type: Select File
      • Path: Enter %AppData%\UniversalPrintPrinterProvisioning\Configuration
      • File or folder: Enter printers.csv
      • Detection Method: Select File or folder exists

    Microsoft-Endpoint-Manager-add-app-detection-rules

  8. Dependencies - You can ignore this step and click on Next.

  9. Assignments - Under Required, click on +Add group. Select the user groups to which the given list of printers in printers.csv needs to be deployed.

    Microsoft-Endpoint-Manager-add-app-assignments

  10. Review+create - Review all the settings and click on Create

    Microsoft-Endpoint-Manager-add-app-review

Once all the steps are complete Microsoft Endpoint Manager is ready to deploy your Universal Print printers to the target users' devices.

Microsoft-Endpoint-Manager-add-app-final

You can click on the corresponding intunewin app in Microsoft Endpoint Manager and check its device install status and user install status.

Endpoint-Manager-app-device-install-report

Monitor app information and assignments with Microsoft Intune

How are printers installed?

Step 2 above will install a background service on the Windows 10 device. Background service will listen for the "user logon" event. Second package (InstallPolicy.intunewin) deployed in Step 5 will put the config file with list of printers on users' Windows 10 device.

When a user logs in, background service will be triggered to install Universal Print printers. It will look for the printers.csv file. If found, then the service will add all the printers listed in the printers.csv file to the Windows 10 device.

Note

Only printers that logged-in user has access to will be added to their device.>

Troubleshooting

If the Universal Print printers are not installed after the user logs in, check the following:

Confirm that the printers.csv file is present based on the deployment level:

  • User:
    • %AppData%\UniversalPrintPrinterProvisioning\Configuration
  • Device:
    • On x64 device: "%ProgramFiles(x86)%\UniversalPrintPrinterProvisioning\Configuration"
    • On x86 device: "%ProgramFiles%\UniversalPrintPrinterProvisioning\Configuration"

If the printer defined in the printers.csv file does not install, check the PrintProvisioning event log located on the client under Applications and Services log -> Microsoft -> UniversalPrint for an Event 3 with the following text:

Description: "The system cannot find the path specified."

If you see this error, there are two possible causes.

  1. The user does not have access to the printer.

    • Check the Access list for the printer in the Universal Print portal and confirm the user's account is added either directly or as part of an Microsoft Entra ID security group.

    • Confirm that you can manually discover and add the printer using "Add printer". If you are unable to manually add the printer, follow the troubleshooting steps under "Installing or discovering printers on client".

  2. The printers.csv file has the PrinterID instead of the ShareID.

    • Confirm that the correct ID is being used in the printers.csv file.

More resources

Video demo (@13:48): Eliminate on-premises print servers with Universal Print