Mohamed ZagoudiAdelix Automation

Microsoft 365

Intune januari 2026: PowerShell-script als installer voor Win32-apps

Sinds de week van 12 januari 2026 accepteert Intune een PowerShell-script als installer voor Win32-apps. Plus: de nieuwe ESP-instelling voor kwaliteitsupdates.

Abstracte technische illustratie bij het artikel over de PowerShell-installer voor Win32-apps in Intune
In dit artikel
  1. Wat er is veranderd
  2. Hoe de PowerShell-installer werkt
  3. Aandachtspunten
  4. ESP-instelling: kwaliteitsupdates tijdens OOBE
  5. Wat dit betekent voor beheer
  6. Bronnen

In de week van 12 januari 2026 heeft Microsoft twee wijzigingen in Intune doorgevoerd die direct raken aan de manier waarop Windows-apparaten worden ingericht. De eerste is de mogelijkheid om bij een Win32-app een PowerShell-script te uploaden dat als installer dient, in plaats van een opdrachtregel. De tweede is een nieuwe instelling in de Enrollment Status Page (ESP) die bepaalt of Windows tijdens de out-of-box experience (OOBE) kwaliteitsupdates installeert. Die instelling is sinds 13 januari 2026 actief.

Wat er is veranderd

Tot nu toe bestond het installatiecommando van een Win32-app in Intune uit één opdrachtregel: een msiexec-aanroep, een setup.exe met parameters, of een aanroep van een script dat in het .intunewin-pakket was meegeleverd. Wie meer wilde dan een enkele opdracht, zoals controles vooraf, configuratie na installatie of foutafhandeling, bouwde daarvoor een wrapper-script en riep dat vanuit de opdrachtregel aan.

Met de update van januari verschijnt op de pagina Program van een Win32-app een keuze Installer type met twee opties:

  • Command line: de bestaande werkwijze, een opdrachtregel voor installatie en een voor verwijdering.
  • PowerShell script: een geüpload PowerShell-script dat de installatieopdracht vervangt.

Microsoft omschrijft het doel als het mogelijk maken van "rijkere installatieworkflows" zoals controles op voorwaarden, configuratiewijzigingen en acties na installatie, zonder dat daar een aparte wrapper voor hoeft te worden gebouwd. Op Ignite 2025 was deze functie al aangekondigd voor het eerste kwartaal van 2026; de uitrol in januari valt binnen die planning.

Hoe de PowerShell-installer werkt

De werking is in de documentatie beknopt maar duidelijk beschreven:

  • Het script mag maximaal 50 KB groot zijn.
  • Intune verpakt het script samen met de app-inhoud en voert het uit in dezelfde context als de app-installer. Het script erft dus de gekozen installatiecontext (systeem of gebruiker) van de app.
  • Het installatieresultaat dat in het Intune admin center verschijnt, is gebaseerd op de returncode van het script. De returncodes die bij de app zijn geconfigureerd (Success, Failed, Soft reboot, Hard reboot, Retry) blijven daarmee het mechanisme om gedrag na installatie te sturen.

Wat niet verandert, zijn de detectieregels. Een Win32-app wordt nog steeds als geïnstalleerd gezien op basis van een MSI-productcode, een bestands- of registercontrole, of een eigen detectiescript. Bij een detectiescript geldt onveranderd dat het script met exit code 0 moet eindigen én iets naar STDOUT moet schrijven; zodra er iets naar STDERR wordt geschreven, geldt de app als niet geïnstalleerd, ook bij exit code 0 en uitvoer op STDOUT.

Installer en detectie zijn twee losse stappen

Het installer-script bepaalt alleen of de installatie is gelukt volgens de returncode. Of Intune de app daarna als aanwezig beschouwt, hangt af van de detectieregel. Een installer-script dat met 0 eindigt terwijl de detectieregel niets vindt, leidt tot een herhaalde installatiepoging bij de volgende evaluatie.

Aandachtspunten

Multi Admin Approval. In tenants waar Multi Admin Approval (MAA) is ingeschakeld, kan tijdens het aanmaken van een app géén PowerShell-script worden geüpload. De app moet eerst worden aangemaakt; daarna kan het script worden toegevoegd of aangepast. Dit is een bewuste beperking: MAA vereist dat wijzigingen aan scripts door een tweede beheerder worden goedgekeurd.

32-bits versus 64-bits PowerShell. De documentatie waarschuwt al langer dat het aanroepen van powershell.exe in het veld Install command of Uninstall command een 32-bits PowerShell-instantie start. Wie in een opdrachtregel 64-bits uitvoering wil afdwingen, gebruikt het Sysnative-pad:

Tekst
%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\powershell.exe

Deze waarschuwing geldt voor het installertype Command line. Voor het nieuwe installertype PowerShell script vermeldt de documentatie een afzonderlijke scripteigenschap runAs32Bit, naast enforceSignatureCheck. Microsoft noemt niet expliciet wat de standaardwaarde daarvan is; controleer dit in de admin center bij het configureren van de app en test op een 64-bits apparaat of registersleutels en paden in de verwachte context worden benaderd.

Geen interactieve installaties. Intune ondersteunt geen installaties die om invoer van de gebruiker vragen. Dat geldt onverminderd voor installer-scripts: dialoogvensters, prompts of constructies die de sessie van de aangemelde gebruiker proberen te benaderen worden niet ondersteund.

Omgevingsvariabelen in het uninstall-commando. Bij het installertype Command line worden omgevingsvariabelen in het veld Uninstall command niet uitgebreid. De documentatie adviseert daarvoor al langer een eigen wrapper-script in het pakket.

ESP-instelling: kwaliteitsupdates tijdens OOBE

De tweede wijziging betreft de Enrollment Status Page en is sinds 13 januari 2026 van kracht. De eerste update die via dit mechanisme wordt aangeboden, is de kwaliteitsupdate 2026-01 B.

De achtergrond: de Windows out-of-box experience installeert standaard de laatste beschikbare beveiligingsupdates, zodat een apparaat vanaf de eerste dag actueel is. Intune en Windows Autopilot gebruiken die OOBE via de ESP. Om dat gedrag beheersbaar te maken, bevat het ESP-profiel nu de instelling Install Windows quality updates.

De standaardwaarden verdienen aandacht, omdat ze verschillen tussen nieuwe en bestaande profielen:

ProfielStandaardwaardeGedrag
Nieuw aangemaakt ESP-profielYesDe meest recente beveiligingsupdates worden tijdens OOBE geïnstalleerd
Bestaand ESP-profielNoOOBE installeert geen updates, tot het profiel wordt aangepast

Met de waarde No krijgt een intern team de tijd om een maandelijkse update eerst te testen voordat die op nieuw ingerichte apparaten landt. Met Yes verlengt de inrichting mogelijk, maar is het apparaat direct na inschrijving op het actuele beveiligingsniveau.

Twee profielen, twee uitkomsten

Een organisatie die in januari 2026 een nieuw ESP-profiel aanmaakt naast een bestaand profiel, heeft daarmee ongemerkt twee verschillende gedragingen tijdens OOBE. Het is verstandig de instelling in alle profielen bewust op dezelfde waarde te zetten.

Wat dit betekent voor beheer

De PowerShell-installer verlaagt de drempel om installatielogica in Intune zelf te beheren. Een wrapper-script in het .intunewin-pakket blijft mogelijk, maar voor veel apps volstaat nu een script van maximaal 50 KB dat rechtstreeks in de app-definitie wordt geüpload. Dat maakt de logica zichtbaar en aanpasbaar in het admin center, zonder het pakket opnieuw te bouwen.

Twee zaken vragen om discipline. Ten eerste de returncode: omdat Intune het resultaat volledig op de exit code van het script baseert, moet het script elk denkbaar faalpad expliciet afhandelen en met een passende code afsluiten. Ten tweede de scheiding tussen installer en detectie, die ongewijzigd blijft en bij foute aannames tot een installatielus leidt.

Voor de ESP-instelling geldt dat de gewijzigde standaardwaarde voor nieuwe profielen betekent dat inrichtingstijden van Autopilot-apparaten kunnen veranderen, en dat de keuze voor Yes of No bij voorkeur aansluit op het bestaande beleid voor kwaliteitsupdates.

Bronnen

Over de auteur

Mohamed Zagoudi

Freelance systeembeheerder & ICT-coördinator

Dit artikel is gebaseerd op eigen praktijkervaring in ICT-beheer en automatisering en bevat geen verwijzingen naar specifieke klanten.

Vragen over dit onderwerp?

Stuur me gerust een bericht. Ik reageer zelf.