Blog

Printer-uitrol via Intune

16 mei 2026

Praktisch handboek voor het uitrollen van netwerkprinters bij klanten via Intune. Vervangt de oude aanpak met platform scripts.

Praktisch handboek voor het uitrollen van netwerkprinters bij klanten via Intune. Vervangt de oude aanpak met platform scripts.

Waarom geen platform scripts meer

Platform scripts hebben drie structurele zwaktes voor printer-uitrol:

  1. Geen detection rule. Intune weet niet of de printer geïnstalleerd is. Bij elke sync probeert het script opnieuw te draaien, of niet, afhankelijk van toeval.
  2. Geen retry-logica. Faalt het script één keer? Dan blijft het gefaald totdat een mens ingrijpt.
  3. Geen schone uninstall. Een platform script kun je toewijzen maar niet meer netjes terugdraaien.

Een Win32 app lost alle drie op: install, detect én uninstall zijn aparte scripts, en Intune weet de status van elk individueel apparaat.

De juiste flow

  1. Open Admin → Support → Printer-uitrol in het portaal.
  2. Vul vendor + model + printer-naam + IP-adres + driver-keuze in.
  3. Klik Download .zip.
  4. (Alleen bij custom INF-driver) Pak driver van vendor uit in de submap die de wizard noemt.
  5. Maak met IntuneWinAppUtil.exe een .intunewin van de map.
  6. Upload als Win32 app in Intune. Het README-bestand in de zip geeft per veld de waarde.
  7. Wijs toe aan een device group (niet user group, system-context vereist machine-targeting).

Driver-keuze: drie paden

Wanneer Kies
Klant wil alleen printen, geen finishing/scan-naar-mail Microsoft IPP Class Driver (inbox, geen INF nodig)
Multifunctional met scan/fax/finishing Vendor universal driver (HP UPD, Konica Universal PCL, Xerox Global, Ricoh UD, etc.)
Klant heeft M365 E3/E5 én cloud-only beleid Universal Print (niet via deze tool, zie sectie hieronder)

Driver-naam moet exact matchen

De Add-PrinterDriver -Name $driverName faalt zonder duidelijke fout als de naam niet exact matcht op wat in de driver-store staat. Stel: de INF beschrijft "HP Universal Printing PCL 6", dan moet de driver-naam in de wizard exact zo zijn (inclusief hoofdletters en spaties).

Verifieer op een testmachine na pnputil /add-driver met:

Get-PrinterDriver | Sort-Object Name | Select-Object Name

Universal Print (Microsoft 365 cloud-only)

Voor klanten met M365 E3/E5 + intern cloud-only beleid: gebruik Universal Print in plaats van deze tool.

  1. In de klant-tenant: Universal Print in Microsoft 365 admin center.
  2. Installeer Universal Print connector op een Windows-server bij de klant.
  3. Registreer de printer in Universal Print.
  4. Deel de printer met de juiste Azure AD-groep.
  5. Klanten zien de printer automatisch (mits ze ingelogd zijn met hun werkaccount).

Voordelen: geen scripts, geen drivers, geen pnputil-issues. Nadeel: licentievereiste + connector-server.

Veelvoorkomende valkuilen

Symptoom Oorzaak Fix
"The value must not be empty" bij Install command Intune Program-stap vraagt commando's, niet auto-ingevuld door .intunewin Plak waardes uit het Intune-velden tabblad in de tool (Install + Uninstall command)
Device restart behavior staat verkeerd Default in Intune is "App install may force a device restart" Zet expliciet op No specific action, onze printer-scripts rebooten niet
Intune meldt "successful" maar er staat geen printer Geen detection rule of detection geeft altijd 0 Gebruik de gegenereerde detect.ps1 als custom detection script
Print job blijft in queue hangen Driver matcht niet bij het model Switch naar vendor-specifieke driver i.p.v. universal
Script faalt met "The specified printer driver was not found" Driver-naam in script matcht niet exact met INF Tool parsed INF automatisch, uploaden van vendor-zip lost dit op
Werkt op admin-PC maar niet op gewone gebruiker Toegewezen aan user-group i.p.v. device-group Verander toewijzing, system-context vereist device-targeting
Driver wordt niet geïnstalleerd INF zit niet in de .intunewin Bij handmatige flow: verifieer mapstructuur vóór IntuneWinAppUtil.exe. Bij upload-flow: tool checkt INF-aanwezigheid automatisch
Printer staat er maar wijst naar verkeerde IP Port-naam-collision detect.ps1 checkt host, wordt opgeruimd bij re-install

Verifiëren op een client

Na Intune-sync (of forceer met Sync knop in Company Portal):

# Op de client, als admin
Get-Printer -Name 'Kantoor Begane Grond' | Format-List
Get-PrinterPort -Name 'IP_192.168.1.250' | Format-List

# Test-print
Get-Printer -Name 'Kantoor Begane Grond' | ForEach-Object {
    Get-WmiObject -Class Win32_Printer -Filter "Name='$($_.Name)'" |
        Invoke-CimMethod -MethodName 'PrintTestPage'
}

Logs

Locatie Wat
C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log Win32 app install/detect/uninstall stappen
C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\AgentExecutor.log PowerShell script-exit-codes en stderr
Intune Admin Center → Apps → <jouw app> → Device install status Per-device install-status

Tooling-overzicht

Tool Doel Waar
Admin-portaal printer-uitrol Scripts genereren /admin/tools/intune/printers
Win32 Content Prep Tool .intunewin maken github.com/microsoft/Microsoft-Win32-Content-Prep-Tool
Intune Admin Center Uploaden + toewijzen intune.microsoft.com

Breng je eigen IT-situatie in kaart

Wil je weten waar jouw organisatie technisch en organisatorisch kan verbeteren? Doe de gratis IT-scan en ontvang direct een praktisch overzicht van aandachtspunten.

Lees ook