Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Gebruik de beheerextensie van Microsoft Intune om PowerShell-scripts te uploaden in Intune. Voer deze scripts vervolgens uit op Windows-apparaten. De beheeruitbreiding verbetert MDM en maakt het gemakkelijker om over te stappen op modern beheer.
Opmerking
Zie Intune beheerextensie voor Windows voor meer informatie over de Intune beheerextensie voor Windows.
Voordat u begint
Scripts die zijn ingesteld op gebruikerscontext met beheerdersrechten worden PowerShell standaard uitgevoerd onder beheerdersbevoegdheden.
Eindgebruikers hoeven zich niet aan te melden bij het apparaat om PowerShell-scripts uit te voeren.
De extensie voor Intune beheer 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. Als het script eenmaal is uitgevoerd, wordt het niet opnieuw uitgevoerd, tenzij het script of beleid is gewijzigd. Als het script mislukt, probeert de Intune-beheerextensie het script driemaal opnieuw voor de volgende drie opeenvolgende check-ins van de Intune-beheerextensie.
PowerShell-scripts die aan het apparaat zijn toegewezen, worden uitgevoerd voor elke nieuwe gebruiker die zich aanmeldt, behalve bij SKU's met meerdere sessies waarin het inchecken van gebruikers is uitgeschakeld.
PowerShell-scripts worden uitgevoerd voordat Win32-apps worden uitgevoerd. Met andere woorden: PowerShell-scripts worden als eerste uitgevoerd. Vervolgens worden Win32-apps uitgevoerd.
Voor PowerShell-scripts treedt na 30 minuten een time-out op.
Belangrijk
Best practices voor privacybewustzijn bij het gebruik van PowerShell-scripts en herstelscripts zijn onder andere:
- Neem geen gevoelige informatie op in scripts (zoals wachtwoorden)
- Neem geen persoonlijke gegevens op in scripts
- Gebruik geen scripts om persoonlijke gegevens van apparaten te verzamelen
- Volg altijd aanbevolen procedures voor privacy
Zie Herstelbewerkingen voor gerelateerde informatie.
Vereisten
- De uitbreiding voor Intune-beheer 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 voor clients met de uitbreiding voor Intune beheer, worden niet uitgevoerd als de systeemklok van het apparaat maanden of jaren verouderd is. Zodra de systeemklok is bijgewerkt, wordt het script uitgevoerd zoals verwacht.
Een scriptbeleid maken en toewijzen
Meld je aan bij het Microsoft Intune-beheercentrum.
Selecteer Apparaten>, Scripts en herstel,>Platformscripts>>Windows 10 en hoger.
Voer in Basisprincipes 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 bij Scriptinstellingen de volgende eigenschappen in en selecteer Volgende:
Locatie van het script: Blader naar het PowerShell-script. Het script mag niet groter zijn dan 200 kB (ASCII).
Voer dit script uit met de referenties voor aanmelding: Selecteer Ja (standaard) om het script met de referenties van de gebruiker op het apparaat uit te voeren. Kies Nee om het script in de systeemcontext uit te voeren. 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 zijn ondertekend door een vertrouwde uitgever. Selecteer Nee als het script niet hoeft te worden ondertekend.
Voer een script uit in een 64-bits PowerShell-host: selecteer Ja om het script uit te voeren in een 64-bits PowerShell-host op een 64-bits clientarchitectuur. Als u Nee selecteert (standaard), wordt het script uitgevoerd in een 32-bits PowerShell-host.
Wanneer u deze optie instelt op Ja of Nee, gebruikt u de volgende tabel voor nieuw en bestaand beleid:
Script uitvoeren in 64-bits host Clientarchitectuur Nieuw script Bestaand beleidsscript Nee 32-bits 32-bits PowerShell-host wordt ondersteund Werkt alleen in de 32-bits PowerShell-host, die werkt op 32-bits en 64-bits architecturen. Ja 64-bits Hiermee wordt een script uitgevoerd in de 64-bits PowerShell-host voor 64-bits architecturen. Wanneer het script wordt uitgevoerd op 32-bits, wordt het uitgevoerd op een 32-bits PowerShell-host. Hiermee wordt een script 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 32-bits PowerShell-host.
Selecteer Bereiktags. Bereiktags zijn optioneel. Gebruik op rollen gebaseerd toegangsbeheer en bereiktags voor gedistribueerde IT heeft meer informatie.
Een bereiktag toevoegen:
Kies Bereiktags> selecteren een bestaande bereiktag selecteren in de lijst >Selecteer.
Selecteer Volgende wanneer u klaar bent.
Opdrachten> selecterenSelecteer groepen die u wilt opnemen. Er wordt een bestaande lijst met Microsoft Entra-groepen weergegeven.
Selecteer een of meer groepen, waaronder de gebruikers van wie de apparaten het script ontvangen. Kies Selecteren. De groepen die u hebt gekozen, worden in de lijst weergegeven en ontvangen uw beleid.
Opmerking
PowerShell-scripts in Intune kunnen worden gericht op Microsoft Entra-apparaatbeveiligingsgroepen of Microsoft Entra-gebruikersbeveiligingsgroepen. Wanneer echter bij WPJ-apparaten (Workplace Joined Device) wordt getarget, kunnen alleen Microsoft Entra-apparaatbeveiligingsgroepen worden gebruikt (gebruikerstargeting wordt genegeerd).
Selecteer Volgende.
In Controleren + 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: het uitvoeren van het script mislukt
8 uur
- Inchecken
- Voer script ConfigScript01 uit
- Script mislukt
9 uur
- Inchecken
- Voer script ConfigScript01 uit
- Mislukte scripts (aantal nieuwe pogingen = 1)
10 uur
- Inchecken
- Voer script ConfigScript01 uit
- Mislukte scripts (aantal nieuwe pogingen = 2)
11 uur
- Inchecken
- Voer script ConfigScript01 uit
- Scriptfouten (aantal nieuwe pogingen = 3)
12 uur
- Inchecken
- Er worden geen andere pogingen ondernomen om het script ConfigScript01uit te voeren.
- Als er geen andere wijzigingen aan het script worden aangebracht, worden er geen nieuwe pogingen ondernomen om het script uit te voeren.
Uitvoeringsstatus controleren
U kunt de uitvoeringsstatus van PowerShell-scripts voor gebruikers en apparaten in de portal controleren.
Selecteer in PowerShell-scripts het script dat u wilt controleren, kies Bewaken en kies vervolgens een van de volgende rapporten:
- Apparaatstatus
- Gebruikersstatus
Opmerking
Exports van apparaatstatus vanuit het Intune-beheercentrum voor platformscripts maken nu gebruik van de Intune-export-API, en de namen van CSV-kolommen worden uitgelijnd met 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 lopen:
Wanneer het script is toegewezen aan een apparaat
Als u het script wijzigt, uploadt u het en wijst u het script toe aan een gebruiker of apparaat
Tip
De Microsoft Intune Management-extensie 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 gestart en wordt er 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 gestart nadat het apparaat opnieuw is opgestart.
Zorg ervoor dat apparaten zijn gekoppeld aan Microsoft Entra ID. Apparaten die alleen zijn geregistreerd bij je 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 S-modus.
Controleer de logboeken op fouten. Zie Intune beheeruitbreidingslogboeken (in dit artikel).
Zorg ervoor 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 problemen met het uitvoeren van scripts wilt isoleren, kunt u het volgende doen:
Controleer de PowerShell-uitvoeringsconfiguratie op uw apparaten. Zie het PowerShell-uitvoeringsbeleid voor richtlijnen.
Voer een voorbeeldscript uit met de Intune-beheerextensie. Maak bijvoorbeeld de
C:\Scriptsadreslijst en geef iedereen de volledige controle. Voer het volgende script uit:write-output "Script worked" | out-file c:\Scripts\output.txtAls dat het geval is, moet output.txt worden gemaakt en de tekst 'Script werkt' bevatten.
Als u scriptuitvoering wilt testen zonder Intune, voert u de scripts in het systeemaccount lokaal uit met het hulpprogramma pshec:
psexec -i -sAls in het script wordt gemeld dat het is gelukt, maar het is niet gelukt, is het mogelijk dat uw antivirusservice AgentExecutor in een sandbox plaatst. In het volgende script wordt altijd een fout in Intune gemeld. U kunt dit script testen:
Write-Error -Message "Forced Fail" -Category OperationStopped mkdir "c:\temp" echo "Forced Fail" | out-file c:\temp\Fail.txtAls het script aangeeft dat de fout is geslaagd, controleert u de
AgentExecutor.loguitvoer van de fout. Als het script wordt uitgevoerd, moet de lengte 2 zijn >.Om de
.erroren-bestanden.outputvast te leggen, voert het volgende fragment het script uit via AgentExecutor naar PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Het bewaart de logboeken voor uw controle. Vergeet niet dat de Intune Management Extension 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 elke 8 uur) en annuleert script-runs. Ondertussen konden alle lokaal opgeslagen scripts worden uitgevoerd. Wanneer de IME niet kan inchecken, probeert deze opnieuw in te checken gedurende maximaal 24 uur (apparaat-actieve tijd) en verwijdert zichzelf vervolgens van het Windows-apparaat.
Volgende stappen
Controleer uw profielen en los problemen met uw profielen op .