PowerShell-scripts gebruiken op Windows 10/11-apparaten in Intune

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

Belangrijk

Gebruik .NET Framework 4.7.2 of hoger met de Intune-beheerextensie op Windows-clients om uitgebreide functionaliteit en oplossingen voor fouten te ondersteunen. Als een Windows-client een eerdere versie van de .NET Framework blijft gebruiken, blijft de Intune-beheerextensie werken. De .NET Framework 4.7.2 is beschikbaar vanaf Windows Update vanaf 10 juli 2018, die is opgenomen in Win10 1809 (RS5) en hoger. Houd er rekening mee dat meerdere versies van de .NET Framework versies naast elkaar kunnen bestaan op een apparaat.

Deze functie is van toepassing op:

  • Windows 10 en hoger (met uitzondering van Windows 10 Home)

Opmerking

Zodra aan de vereisten voor de Intune-beheerextensie is voldaan, wordt de Intune-beheerextensie automatisch geïnstalleerd wanneer een PowerShell-script of Win32-app, Microsoft Store-apps, instellingen voor aangepast nalevingsbeleid of proactieve herstelbewerkingen aan de gebruiker of het apparaat worden toegewezen. Zie Vereisten voor Intune-beheerextensies voor meer informatie.

PowerShell-scripts, die niet officieel worden ondersteund op WPJ-apparaten (Workplace Join), kunnen worden geïmplementeerd op WPJ-apparaten. PowerShell-scripts voor apparaatcontext werken met name op WPJ-apparaten, maar PowerShell-scripts in gebruikerscontext worden standaard genegeerd. Gebruikerscontextscripts worden genegeerd op WPJ-apparaten en worden niet gerapporteerd aan het Microsoft Intune-beheercentrum.

Overstappen op modern beheer

Gebruikerscomputing ondergaat een digitale transformatie. Traditionele IT richt zich op één apparaatplatform, apparaten in bedrijfseigendom, gebruikers die op kantoor werken en verschillende handmatige, reactieve IT-processen. De moderne werkplek maakt gebruik van veel platforms die eigendom zijn van gebruikers en bedrijven. Het stelt gebruikers in staat om vanaf elke locatie te werken en biedt geautomatiseerde en proactieve IT-processen.

MDM-services, zoals Microsoft Intune, kunnen mobiele en desktopapparaten met Windows 10 beheren. De ingebouwde Windows 10-beheerclient communiceert met Intune om ondernemingsbeheertaken uit te voeren. Er zijn enkele taken die u mogelijk nodig hebt, zoals geavanceerde apparaatconfiguratie en probleemoplossing. Voor Win32-app-beheer kunt u de win32-functie voor app-beheer op uw Windows 10-apparaten gebruiken.

De Intune-beheerextensie is een aanvulling op de ingebouwde MDM-functies Windows 10. U kunt PowerShell-scripts maken voor uitvoering op Windows 10 apparaten. Maak bijvoorbeeld een PowerShell-script dat geavanceerde apparaatconfiguraties uitvoert. Upload vervolgens het script naar Intune, wijs het script toe aan een Microsoft Entra groep en voer het script uit. Vervolgens kunt u de uitvoeringsstatus van het script van begin tot eind bewaken.

Voordat u begint

  • Wanneer scripts zijn ingesteld op gebruikerscontext en de eindgebruiker beheerdersrechten heeft, wordt het PowerShell-script standaard uitgevoerd onder de beheerdersbevoegdheden.

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

  • De Intune-beheerextensieagent 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-beheerextensieagent het script drie keer opnieuw uit voor de volgende drie opeenvolgende check-ins van de Intune-beheerextensieagent.

  • Voor gedeelde apparaten wordt het PowerShell-script uitgevoerd voor elke nieuwe gebruiker die zich aanmeldt.

  • 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 omvatten het volgende:

  • Neem geen enkele vorm van gevoelige informatie op in scripts (zoals wachtwoorden)
  • Persoonsgegevens (PII) niet opnemen in scripts
  • Gebruik geen scripts om PII van apparaten te verzamelen
  • Best practices voor privacy altijd volgen

Zie Herstelbewerkingen voor gerelateerde informatie.

Vereisten

De Intune-beheerextensie heeft de volgende vereisten. Zodra hieraan is voldaan, wordt de Intune-beheerextensie automatisch geïnstalleerd wanneer een PowerShell-script of Win32-app wordt toegewezen aan de gebruiker of het apparaat.

  • Apparaten met Windows 10 versie 1607 of hoger. Als het apparaat is ingeschreven met behulp van bulksgewijs automatische inschrijving, moeten apparaten Windows 10 versie 1709 of hoger worden uitgevoerd. De Intune-beheerextensie wordt niet ondersteund op Windows 10 in de S-modus, omdat de S-modus het uitvoeren van niet-store-apps niet toestaat.

  • Apparaten die zijn gekoppeld aan Microsoft Entra ID, waaronder:

  • Microsoft Entra geregistreerd/aan de werkplek toegevoegd (WPJ): apparaten die zijn geregistreerd in Microsoft Entra ID, raadpleegt u Workplace Join als een naadloze verificatie van de tweede factor voor meer informatie. Dit zijn doorgaans BYOD-apparaten (Bring Your Own Device) waaraan een werk- of schoolaccount is toegevoegd via Instellingen>Accounts>Toegang tot werk of school.

  • Apparaten die zijn ingeschreven bij Intune, waaronder:

    • Apparaten die zijn ingeschreven in een groepsbeleidsbeleid (GPO). Zie Een Windows 10 apparaat automatisch inschrijven met behulp van groepsbeleid voor hulp.

    • Apparaten die handmatig zijn ingeschreven bij Intune. Dit is wanneer:

      • Automatische inschrijving bij Intune is ingeschakeld in Microsoft Entra ID. Gebruikers melden zich aan bij apparaten met een lokaal gebruikersaccount en voegen het apparaat handmatig toe aan Microsoft Entra ID. Vervolgens melden ze zich aan bij het apparaat met hun Microsoft Entra-account.

      OF

      • De gebruiker meldt zich bij het apparaat aan met zijn Microsoft Entra-account en schrijft zich vervolgens in bij Intune.
    • Co-beheerde apparaten die gebruikmaken van Configuration Manager en Intune. Wanneer u Win32-apps installeert, controleert u of de workload Apps is ingesteld op Test intune of Intune. PowerShell-scripts worden uitgevoerd, zelfs als de workload Apps is ingesteld op Configuration Manager. De Intune-beheerextensie wordt geïmplementeerd op een apparaat wanneer u een PowerShell-script op het apparaat richt. Het apparaat moet een Microsoft Entra ID of Microsoft Entra hybride gekoppeld apparaat zijn. En er moet Windows 10 versie 1607 of hoger worden uitgevoerd. Zie de volgende artikelen voor hulp:

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

Opmerking

Zie Windows 10 virtuele machines gebruiken met Intune voor meer informatie over het gebruik van virtuele Windows 10-machines.

Een scriptbeleid maken en toewijzen

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

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

    Schermopname van het maken van een nieuw script voor een Windows 10 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
      Neen 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 (RBAC) en bereiktags voor gedistribueerde IT heeft meer informatie.

    Een bereiktag toevoegen:

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

    2. 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.

    1. 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 beveiligingsgroepen voor apparaten worden gebruikt (gebruikerstargeting wordt genegeerd). Zie Win32-app-ondersteuning voor WPJ-apparaten (Workplace Join) voor meer informatie.

    2. 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.

Voorbeeld van mislukte uitvoering van script

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 extra pogingen gedaan om het ConfigScript01-scriptuit te voeren.
  • Als er geen extra wijzigingen worden aangebracht in het script, worden er geen extra 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

Intune-beheeruitbreidingslogboeken

Agentlogboeken op de clientcomputer bevinden zich doorgaans in C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. U kunt CMTrace.exe gebruiken om deze logboekbestanden weer te geven.

Schermopname of voorbeeld van cmtrace-agentlogboeken in Microsoft Intune

Een script verwijderen

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

Veelvoorkomende problemen en oplossingen

Probleem: De Intune-beheerextensie wordt niet gedownload

Mogelijke oplossingen:

  • Het apparaat is niet gekoppeld aan Microsoft Entra ID. Zorg ervoor dat de apparaten voldoen aan de vereisten (in dit artikel).
  • Er zijn geen PowerShell-scripts of Win32-apps toegewezen aan de groepen waartoe de gebruiker of het apparaat behoort.
  • Het apparaat kan niet inchecken bij de Intune-service. Er is bijvoorbeeld geen toegang tot internet, geen toegang tot Windows Push Notification Services (WNS), enzovoort.
  • Het apparaat bevindt zich in de S-modus. De Intune-beheerextensie wordt niet ondersteund op apparaten die in de S-modus worden uitgevoerd.

Als u wilt zien of het apparaat automatisch is ingeschreven, kunt u het volgende doen:

  1. Ga naar Instellingen>Accounts>Toegang tot werk of school.
  2. Selecteer de gekoppelde accountgegevens>.
  3. Selecteer onder Geavanceerd diagnostisch rapport de optie Rapport maken.
  4. Open de MDMDiagReport in een webbrowser.
  5. Zoek naar de eigenschap MDMDeviceWithAAD . Als de eigenschap bestaat, wordt het apparaat automatisch ingeschreven. Als deze eigenschap niet bestaat, wordt het apparaat niet automatisch geregistreerd.

Het inschakelen van Windows 10 automatische inschrijving omvat de stappen voor het configureren van automatische inschrijving in Intune.

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 ook opnieuw worden opgestart en controleren 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 lid zijn van uw werkplek of organisatie (geregistreerd 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 10 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
      

Volgende stappen

Uw profielen bewaken en problemen oplossen .