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:
- 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.
- Geen retry-logica. Faalt het script één keer? Dan blijft het gefaald totdat een mens ingrijpt.
- 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
- Open Admin → Support → Printer-uitrol in het portaal.
- Vul vendor + model + printer-naam + IP-adres + driver-keuze in.
- Klik Download .zip.
- (Alleen bij custom INF-driver) Pak driver van vendor uit in de submap die de wizard noemt.
- Maak met
IntuneWinAppUtil.exeeen.intunewinvan de map. - Upload als Win32 app in Intune. Het README-bestand in de zip geeft per veld de waarde.
- 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.
- In de klant-tenant: Universal Print in Microsoft 365 admin center.
- Installeer Universal Print connector op een Windows-server bij de klant.
- Registreer de printer in Universal Print.
- Deel de printer met de juiste Azure AD-groep.
- 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.