As you may know, a new service called Universal Print has been released in preview allowing you replacing your on-premises print servers (see https://t.co/gOagPc8slW).
Well, you can now deploy the printers used by with Universal Print using Intune/Endpoint Configuration Manager to your devices.
Off course, the first thing to do is to implement and configure Universal Print (see the above link).
Then, you need to download the Universal Print provisioning tool from here https://aka.ms/UPIntuneTool_DL
The tool contains 3 files:
- 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.
- SamplePolicy.zip: This ZIP folder contains two files:
- 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.
- InstallPolicy.cmd is a simple script that copies the printers.csv config file to the appropriate folder on users’ devices.
- 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”.
As you can understand based on the description, the most important ones are the UniversalPrintPrinterProvisioning and SamplePolicy.
Then you can customize the printers.csv file to list your Universal Print printers.
You will need to gather the printer Share ID and Share Name by accessing the Universal Print blade and then the printer properties
If you have multiple printers, you can define which one will be the default one.
Deploy Win32 packages to deploy the printers
Then you need to download the Win32 app management prep tool from https://go.microsoft.com/fwlink/?linkid=2065730 to generate the custom Win32 app package to be deployed.
As reminder, to use the prep tool you need save the files (InstallPolicy.cmd and printers.csv)to be included in the package in a single folder – let’s say c:\temp\universalprint for the purpose of this post and then use the command line to generate the package
IntuneWinAppUtil.exe -c “<source folder>” -s “<source folder>\InstallPolicy.cmd” -o “<target folder>”
With my example, this becomes
IntuneWinAppUtil.exe -c “c:\Temp\Universal Print” -s “c:\Temp\Universal Print\InstallPolicy.cmd” -o “c:\Temp\Universal Print Package”
Now you can deploy both package UniversalPrintPrinterProvisioning.0.1.0.0.intunewin and the printer(s) package.
Connect to your Intune/Endpoint Configuration Manager portal (https://endpoint.microsoft.com/) and go to the Apps\All apps blade to deploy in order:
- UniversalPrintPrinter…intunewin package
- Select both 32 bit and 64 bit with Windows 1903 as minimum version
- You need to define the Detection Rule using MSI, the MSI product code should be automatically set
- Printer(s) package
- Set the install/uninstall commands with InstallPolicy.cmd
- You need to set the Install behavior as System
- Select both 32 bit and 64 bit with Windows 1903 as minimum version
- Define the Detection Rule with a manual rule to detect if the printers.csv file exists in %AppData%\UniversalPrintPrinterProvisioning\Configuration
How it is working?
The first package (UniversalPrintPrinterProvisioning) is deploying a background service on the targeted Windows 10 devices. This service will then look for user logon event to deploy the printer package.