Universal Print printer provisioning tool

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.

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 on all the target devices.

While deploying the package, select System under Install Behavior.

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.

  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.

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.