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
Als u uitgebreide functionaliteit en oplossingen voor fouten wilt ondersteunen, gebruikt u .NET Framework 4.7.2 of hoger met de Intune-beheerextensie op Windows-clients. Als een Windows-client een eerdere versie van .NET Framework blijft gebruiken, blijft de Intune-beheerextensie werken. .NET Framework 4.7.2 is beschikbaar via 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-appbeheer kunt u de functie Win32-app-beheer gebruiken op uw Windows 10-apparaten.
De Intune-beheeruitbreiding is een aanvulling op de ingebouwde Windows 10 MDM-functies. 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 op apparaten Windows 10 versie 1709 of hoger worden uitgevoerd. De Intune-beheerextensie wordt niet ondersteund in 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:
Hybride gekoppeld aan Microsoft Entra: apparaten die zijn gekoppeld aan Microsoft Entra ID en ook gekoppeld aan on-premises Active Directory (AD). Zie De implementatie van uw hybride Microsoft Entra-koppeling plannen voor hulp.
Microsoft Entra registered/Workplace joined (WPJ): apparaten die zijn geregistreerd in Microsoft Entra ID, zie Workplace Join als een naadloze tweede factor verificatie 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 Automatisch een Windows 10-apparaat inschrijven met 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
- Gebruikers kunnen zich aanmelden bij het apparaat met hun Microsoft Entra-account en zich vervolgens inschrijven 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. Houd er rekening mee dat het apparaat een Microsoft Entra-id of een hybride gekoppeld Microsoft Entra-apparaat moet 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 Virtuele Windows 10-machines gebruiken met Intune voor meer informatie over het gebruik van virtuele Windows 10-machines.
Een scriptbeleid maken en toewijzen
Meld je aan bij het Microsoft Intune-beheercentrum.
Selecteer Apparaten>Scripts en herstelbewerkingenPlatformscripts>>Windows 10 en hogertoevoegen>.
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.
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.
Selecteer Bereiktags. Bereiktags zijn optioneel. Gebruik op rollen gebaseerd toegangsbeheer (RBAC) 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.
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-apparaatbeveiligingsgroepen of Microsoft Entra-gebruikersbeveiligingsgroepen. Wanneer u zich echter richt op WPJ-apparaten (Workplace Joined), kunnen alleen Beveiligingsgroepen van Microsoft Entra-apparaten worden gebruikt (gebruikerstargeting wordt genegeerd).
Selecteer Volgende.
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.
Daarnaast kunt u het logboekbestand AppWorkload.log gebruiken om problemen met Win32-app-beheergebeurtenissen op de client op te lossen en te analyseren. Dit logboekbestand bevat alle logboekgegevens met betrekking tot app-implementatieactiviteiten die door de IME worden uitgevoerd.
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:
- Ga naar Instellingen>Accounts>Toegang tot werk of school.
- Selecteer de gekoppelde accountgegevens>.
- Selecteer onder Geavanceerd diagnostisch rapport de optie Rapport maken.
- Open de
MDMDiagReport
in een webbrowser. - 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.
Automatische inschrijving voor Windows 10 inschakelen 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 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