Delen via


PowerShell-scripts gebruiken op Windows-apparaten in Intune

Op 14 oktober 2025 is Windows 10 het einde van de ondersteuning bereikt en ontvangt geen kwaliteits- en functie-updates. Windows 10 is een toegestane versie in Intune. Apparaten met deze versie kunnen nog steeds worden ingeschreven bij Intune en in aanmerking komende functies gebruiken, maar de functionaliteit wordt niet gegarandeerd en kan variëren.

Gebruik de Microsoft Intune-beheerextensie om PowerShell-scripts te uploaden in Intune. Voer deze scripts vervolgens uit op Windows-apparaten. De beheeruitbreiding verbetert MDM en maakt het eenvoudiger om over te stappen op modern beheer.

Voordat u begint

  • Scripts die zijn ingesteld op gebruikerscontext met beheerdersrechten, voeren PowerShell standaard uit onder beheerdersbevoegdheden.

  • Eindgebruikers hoeven zich niet aan te melden bij het apparaat om PowerShell-scripts uit te voeren.

  • De Intune-beheerextensie controleert na elke herstart op nieuwe scripts of wijzigingen. Nadat u het beleid hebt toegewezen aan de Microsoft Entra groepen, wordt het PowerShell-script uitgevoerd en worden de uitvoeringsresultaten gerapporteerd. Zodra het script is uitgevoerd, wordt het niet opnieuw uitgevoerd, tenzij er een wijziging in het script of beleid is. Als het script mislukt, voert de Intune-beheerextensie het script drie keer opnieuw uit voor de volgende drie opeenvolgende check-ins van de Intune-beheerextensie.

  • PowerShell-scripts die zijn toegewezen aan het apparaat, worden uitgevoerd voor elke nieuwe gebruiker die zich aanmeldt, behalve op SKU's met meerdere sessies waarvoor het inchecken van gebruikers is uitgeschakeld.

  • PowerShell-scripts worden uitgevoerd voordat Win32-apps worden uitgevoerd. Met andere woorden, PowerShell-scripts worden eerst uitgevoerd. Vervolgens worden Win32-apps uitgevoerd.

  • Er is na 30 minuten een time-out opgetreden voor PowerShell-scripts.

Belangrijk

Aanbevolen procedures voor privacybewustzijn bij het gebruik van PowerShell-scripts en herstelscripts zijn onder andere:

  • Neem geen enkele vorm van gevoelige informatie op in scripts (zoals wachtwoorden)
  • Geen persoonsgegevens opnemen in scripts
  • Gebruik geen scripts om persoonlijke gegevens van apparaten te verzamelen
  • Best practices voor privacy altijd volgen

Zie Herstelbewerkingen voor gerelateerde informatie.

Vereisten

  • De Intune-beheerextensie wordt automatisch geïnstalleerd wanneer een PowerShell-script-app wordt toegewezen aan de gebruiker of het apparaat. Zie Intune-beheerextensie voor Windows voor meer informatie.

Belangrijk

Scripts die zijn geïmplementeerd op clients waarop de Intune-beheerextensie wordt uitgevoerd, kunnen niet worden uitgevoerd als de systeemklok van het apparaat maanden of jaren te oud is. Zodra de systeemklok is bijgewerkt, wordt het script uitgevoerd zoals verwacht.

Een scriptbeleid maken en toewijzen

  1. Meld je aan bij het Microsoft Intune-beheercentrum.

  2. Selecteer Apparaten>Scripts en herstelbewerkingenPlatformscripts>>Toevoegen>Windows 10 en hoger.

    Schermopname van het maken van een nieuw script voor een Windows-apparaat.

  3. Voer in Basis de volgende eigenschappen in en selecteer Volgende:

    • Naam: voer een naam in voor het PowerShell-script.
    • Beschrijving: voer een beschrijving in voor het PowerShell-script. Deze instelling is optioneel, maar wordt aanbevolen.
  4. Voer in Scriptinstellingen de volgende eigenschappen in en selecteer Volgende:

    • Scriptlocatie: Blader naar het PowerShell-script. Het script moet kleiner zijn dan 200 kB (ASCII).

    • Voer dit script uit met de aangemelde referenties: selecteer Ja (standaard) om het script uit te voeren met de referenties van de gebruiker op het apparaat. Kies Nee om het script uit te voeren in de systeemcontext. Veel beheerders kiezen Ja. Als het script moet worden uitgevoerd in de systeemcontext, kiest u Nee.

    • Controle van scripthandtekening afdwingen: selecteer Ja (standaard) als het script moet worden ondertekend door een vertrouwde uitgever. Selecteer Nee als er geen vereiste is om het script te ondertekenen.

    • Script uitvoeren in de 64-bits PowerShell-host: selecteer Ja om het script uit te voeren in een 64-bits PowerShell-host op een 64-bits clientarchitectuur. Selecteer Nee (standaard) voert het script uit in een 32-bits PowerShell-host.

      Wanneer u de instelling Op Ja of Nee instelt, gebruikt u de volgende tabel voor nieuw en bestaand beleidsgedrag:

      Script uitvoeren op de 64-bits host Clientarchitectuur Nieuw script Bestaand beleidsscript
      Nee 32-bits 32-bits PowerShell-host ondersteund Wordt alleen uitgevoerd in de 32-bits PowerShell-host, die werkt op 32-bits en 64-bits architecturen.
      Ja 64-bits Script wordt uitgevoerd in de 64-bits PowerShell-host voor 64-bits architecturen. Wanneer het script wordt uitgevoerd op 32-bits, wordt het uitgevoerd in een 32-bits PowerShell-host. Script wordt uitgevoerd in de 32-bits PowerShell-host. Als deze instelling wordt gewijzigd in 64-bits, wordt het script geopend (het wordt niet uitgevoerd) in een 64-bits PowerShell-host en worden de resultaten gerapporteerd. Wanneer het script wordt uitgevoerd op 32-bits, wordt het uitgevoerd in de 32-bits PowerShell-host.
  5. Selecteer Bereiktags. Bereiktags zijn optioneel. Gebruik op rollen gebaseerd toegangsbeheer en bereiktags voor gedistribueerde IT heeft meer informatie.

    Een bereiktag toevoegen:

    • Kies Bereiktags selecteren> Selecteer een bestaande bereiktag in de lijst >Selecteren.

    • Wanneer u klaar bent, selecteert u Volgende.

  6. Selecteer Toewijzingen>Selecteer groepen die u wilt opnemen. Er wordt een bestaande lijst met Microsoft Entra groepen weergegeven.

    • Selecteer een of meer groepen met de gebruikers van wie de apparaten het script ontvangen. Kies Selecteren. De groepen die u hebt gekozen, worden weergegeven in de lijst en ontvangen uw beleid.

      Opmerking

      PowerShell-scripts in Intune kunnen worden gericht op Microsoft Entra beveiligingsgroepen van apparaten of Microsoft Entra gebruikersbeveiligingsgroepen. Wanneer u zich echter richt op WPJ-apparaten (Workplace Joined), kunnen alleen Microsoft Entra apparaatbeveiligingsgroepen worden gebruikt (gebruikerstargeting wordt genegeerd).

    • Selecteer Volgende.

      PowerShell-script toewijzen aan of implementeren in apparaatgroepen in Microsoft Intune

  7. In Controleren en toevoegen wordt een overzicht weergegeven van de instellingen die u hebt geconfigureerd. Selecteer Toevoegen om het script op te slaan. Wanneer u Toevoegen selecteert, wordt het beleid geïmplementeerd voor de groepen die u hebt gekozen.

Scenario - Kan script niet uitvoeren

8.00 uur

  • Inchecken
  • Script ConfigScript01 uitvoeren
  • Script mislukt

9:00 UUR

  • Inchecken
  • Script ConfigScript01 uitvoeren
  • Script mislukt (aantal nieuwe pogingen = 1)

10.00 uur

  • Inchecken
  • Script ConfigScript01 uitvoeren
  • Script mislukt (aantal nieuwe pogingen = 2)

11.00 uur

  • Inchecken
  • Script ConfigScript01 uitvoeren
  • Script mislukt (aantal nieuwe pogingen = 3)

12.00 uur

  • Inchecken
  • Er worden geen andere pogingen gedaan om het ConfigScript01-scriptuit te voeren.
  • Als er geen andere wijzigingen worden aangebracht in het script, worden er geen andere pogingen gedaan om het script uit te voeren.

Uitvoeringsstatus bewaken

U kunt de uitvoeringsstatus van PowerShell-scripts voor gebruikers en apparaten in de portal bewaken.

Selecteer in PowerShell-scripts het script dat u wilt bewaken, kies Bewaken en kies vervolgens een van de volgende rapporten:

  • Apparaatstatus
  • Gebruikersstatus

Opmerking

Apparaatstatusexports vanuit het Intune-beheercentrum voor platformscripts maken nu gebruik van de Intune Export-API en CSV-kolomnamen zijn afgestemd op het API-schema.

Een script verwijderen

Klik in PowerShell-scripts met de rechtermuisknop op het script en selecteer Verwijderen.

Veelvoorkomende problemen en oplossingen

Probleem: PowerShell-scripts worden niet uitgevoerd

Mogelijke oplossingen:

  • De PowerShell-scripts worden niet bij elke aanmelding uitgevoerd. Ze worden uitgevoerd:

    • Wanneer het script is toegewezen aan een apparaat

    • Als u het script wijzigt, uploadt u het en wijst u het toe aan een gebruiker of apparaat

      Tip

      De Microsoft Intune-beheerextensie is een service die op het apparaat wordt uitgevoerd, net als elke andere service die wordt vermeld in de Services-app (services.msc). Nadat een apparaat opnieuw is opgestart, kan deze service opnieuw worden opgestart en wordt gecontroleerd op toegewezen PowerShell-scripts met de Intune-service. Als de Microsoft Intune Management Extension-service is ingesteld op Handmatig, wordt de service mogelijk niet opnieuw opgestart nadat het apparaat opnieuw is opgestart.

  • Zorg ervoor dat apparaten zijn gekoppeld aan Microsoft Entra-id. Apparaten die alleen zijn geregistreerd bij uw werkplek of organisatie in Microsoft Entra-id ontvangen de scripts niet.

  • Controleer of de Intune-beheerextensie is gedownload naar %ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • Scripts worden niet uitgevoerd op Surface Hubs of Windows in de S-modus.

  • Controleer de logboeken op eventuele fouten. Zie Intune-beheeruitbreidingslogboeken (in dit artikel).

  • Voor mogelijke machtigingsproblemen moet u ervoor zorgen dat de eigenschappen van het PowerShell-script zijn ingesteld op Run this script using the logged on credentials. Controleer ook of de aangemelde gebruiker over de juiste machtigingen beschikt om het script uit te voeren.

  • Als u scriptproblemen wilt isoleren, kunt u het volgende doen:

    • Controleer de PowerShell-uitvoeringsconfiguratie op uw apparaten. Zie het PowerShell-uitvoeringsbeleid voor hulp.

    • Voer een voorbeeldscript uit met behulp van de Intune-beheerextensie. Maak bijvoorbeeld de C:\Scripts map en geef iedereen de volledige controle. Voer het volgende script uit:

      write-output "Script worked" | out-file c:\Scripts\output.txt
      

      Als dit lukt, moet output.txt worden gemaakt en moet de tekst 'Script heeft gewerkt' worden opgenomen.

    • Als u de uitvoering van scripts wilt testen zonder Intune, voert u de scripts lokaal uit in het systeemaccount met behulp van het hulpprogramma psexec :

      psexec -i -s

    • Als het script meldt dat het is gelukt, maar het niet echt is gelukt, is het mogelijk dat uw antivirusservice agentexecutor in sandbox gebruikt. Het volgende script meldt altijd een fout in Intune. Als test kunt u dit script gebruiken:

      Write-Error -Message "Forced Fail" -Category OperationStopped
      mkdir "c:\temp"
      echo "Forced Fail" | out-file c:\temp\Fail.txt
      

      Als het script een succes meldt, bekijkt u de AgentExecutor.log om de foutuitvoer te bevestigen. Als het script wordt uitgevoerd, moet de lengte 2 zijn >.

    • Om de .error bestanden en .output vast te leggen, voert het volgende codefragment het script uit via AgentExecutor naar PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). De logboeken worden voor uw beoordeling bijgehouden. Vergeet niet dat de Intune-beheerextensie de logboeken opschoont nadat het script is uitgevoerd:

      $scriptPath = read-host "Enter the path to the script file to execute"
      $logFolder = read-host "Enter the path to a folder to output the logs to"
      $outputPath = $logFolder+"\output.output"
      $errorPath =  $logFolder+"\error.error"
      $timeoutPath =  $logFolder+"\timeout.timeout"
      $timeoutVal = 60000
      $PSFolder = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0"
      $AgentExec = "C:\Program Files (x86)\Microsoft Intune Management Extension\agentexecutor.exe"
      &$AgentExec -powershell  $scriptPath $outputPath $errorPath $timeoutPath $timeoutVal $PSFolder 0 0
      

Probleem: waarom worden scripts uitgevoerd terwijl Windows niet meer wordt beheerd?

Wanneer een Windows-apparaat met toegewezen scripts niet meer wordt beheerd, wordt de IME niet onmiddellijk verwijderd. De IME detecteert dat Windows niet wordt beheerd bij de volgende IME-check-in (meestal om de 8 uur) en annuleert script-uitvoeringen. In de tussentijd kunnen alle lokaal opgeslagen scripts worden uitgevoerd. Wanneer de IME niet kan inchecken, wordt het opnieuw ingecheckt voor maximaal 24 uur (apparaat-ontwaaktijd) en wordt vervolgens zichzelf van het Windows-apparaat verwijderd.

Volgende stappen

Uw profielen bewaken en problemen oplossen .