February 27, 2026 β’ Junior (1-3 years) How-To
Deploy Printers with Intune
Deploy network printers to Windows devices via Intune. Printer provisioning scripts and group policy alternatives.
Deploy Printers with Intune
Printer deployment has moved from GPO to modern management. Hereβs how to deploy network printers with Intune.
The Old Way: GPO
# Traditional GPO printer connection
# Still works but not "modern management"
Add-Printer -ConnectionName "\\PrintServer\PrinterName"
Modern Way: Intune Scripts
PowerShell Script: Install Printer
<#
.SYNOPSIS
Deploy network printer
#>
param(
[Parameter(Mandatory=$true)]
[string]$PrinterPath,
[Parameter(Mandatory=$false)]
[string]$DriverName
)
$ErrorActionPreference = "Stop"
try {
# Check if printer already exists
$Existing = Get-Printer -Name $PrinterPath -ErrorAction SilentlyContinue
if ($Existing) {
Write-Host "Printer already installed: $PrinterPath"
exit 0
}
# Add printer
if ($DriverName) {
Add-Printer -ConnectionName $PrinterPath -DriverName $DriverName
} else {
Add-Printer -ConnectionName $PrinterPath
}
Write-Host "Printer installed: $PrinterPath"
exit 0
}
catch {
Write-Host "Error: $($_.Exception.Message)"
exit 1
}
Make Printer Default
<#
.SYNOPSIS
Set default printer
#>
param(
[Parameter(Mandatory=$true)]
[string]$PrinterName
)
# Set as default
$Printer = Get-Printer -Name $PrinterName
Set-PrintConfiguration -PrinterName $PrinterName -Datatype "RAW"
# Make default via Windows settings
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows" -Name "Device" -Value "$PrinterName,winspool,ne00:"
Deploy via Intune
Step 1: Create Script
- Go to Devices β Scripts
- Add β Windows 10 and later
- Upload script
Step 2: Assign to Groups
- Target user or device groups
- Run as logged-on user
Printer Driver Management
# List installed drivers
Get-PrinterDriver | Select-Object Name, DriverVersion
# Install driver from inf
pnputil /add-driver printer.inf /install
Troubleshooting
# Check printer service
Get-Service Spooler
# Restart print spooler
Restart-Service Spooler
# Clear print queue
Get-Process | Where-Object { $_.Name -eq "spoolsv" } | Stop-Process -Force
# Clear temp files
Remove-Item "$env:SystemRoot\System32\Spool\Printers\*" -Recurse -Force
Universal Print (Cloud)
For Microsoft 365:
# Connect to Universal Print
# In Microsoft Endpoint Manager:
# 1. Enable Universal Print connector
# 2. Deploy via Intune
# 3. Users get printer in Windows settings
Wrap-Up
Printers are simple with modern management. Use PowerShell scripts in Intune, or move to Universal Print for cloud.
Questions? Drop them below!
Was this helpful?