Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den 14 oktober 2025 upphörde Windows 10 supporten och får inte kvalitets- och funktionsuppdateringar. Windows 10 är en tillåten version i Intune. Enheter som kör den här versionen kan fortfarande registreras i Intune och använda berättigade funktioner, men funktionerna garanteras inte och kan variera.
Använd Microsoft Intune-hanteringstillägget för att ladda upp PowerShell-skript i Intune. Kör sedan dessa skript på Windows-enheter. Hanteringstillägget förbättrar MDM och gör det enklare att gå över till modern hantering.
Obs!
Information om Intune-hanteringstillägget för Windows finns i Intune-hanteringstillägget för Windows.
Innan du börjar
Skript som är inställda på användarkontext med administratörsrättigheter kör PowerShell som standard under administratörsbehörighet.
Slutanvändare behöver inte logga in på enheten för att köra PowerShell-skript.
Intune-hanteringstillägget kontrollerar efter varje omstart om det finns nya skript eller ändringar. När du har tilldelat principen till de Microsoft Entra grupperna körs PowerShell-skriptet och körningsresultaten rapporteras. När skriptet körs körs det inte igen om det inte sker en ändring i skriptet eller principen. Om skriptet misslyckas försöker Intune-hanteringstillägget skriptet tre gånger för de kommande tre på varandra följande incheckningarna av Intune-hanteringstillägget.
PowerShell-skript som tilldelats enheten körs för varje ny användare som loggar in, förutom på SKU:er med flera sessioner där användarincheckning är inaktiverat.
PowerShell-skript körs innan Win32-appar körs. Med andra ord körs PowerShell-skript först. Sedan körs Win32-appar.
PowerShell-skript överskrider tidsgränsen efter 30 minuter.
Viktigt
Metodtips för sekretessmedvetenhet när du använder PowerShell-skript och reparationsskript är:
- Ta inte med någon typ av känslig information i skript (till exempel lösenord)
 - Inkludera inte personliga data i skript
 - Använd inte skript för att samla in personliga data från enheter
 - Följ alltid bästa praxis för sekretess
 
Relaterad information finns i Reparation.
Förhandskrav
- Intune-hanteringstillägget installeras automatiskt när en PowerShell-skriptapp tilldelas användaren eller enheten. Mer information finns i Intune-hanteringstillägget för Windows.
 
Viktigt
Skript som distribueras till klienter som kör Intune-hanteringstillägget kan inte köras om enhetens systemklocka är mycket inaktuell efter månader eller år. När systemklockan har uppdaterats körs skriptet som förväntat.
Skapa en skriptprincip och tilldela den
Logga in på Microsoft Intune administrationscenter.
Välj Enhetsskript>och reparation>Plattformsskript>Lägg till>Windows 10 och senare.
              
            I Grundläggande anger du följande egenskaper och väljer Nästa:
- Namn: Ange ett namn för PowerShell-skriptet.
 - Beskrivning: Ange en beskrivning av PowerShell-skriptet. Denna inställning är valfri, men rekommenderas.
 
I Skriptinställningar anger du följande egenskaper och väljer Nästa:
Skriptplats: Bläddra till PowerShell-skriptet. Skriptet måste vara mindre än 200 KB (ASCII).
Kör det här skriptet med de inloggade autentiseringsuppgifterna: Välj Ja (standard) för att köra skriptet med användarens autentiseringsuppgifter på enheten. Välj Nej för att köra skriptet i systemkontexten. Många administratörer väljer Ja. Om skriptet krävs för att köras i systemkontexten väljer du Nej.
Framtvinga kontroll av skriptsignatur: Välj Ja (standard) om skriptet måste signeras av en betrodd utgivare. Välj Nej om det inte finns något krav på att skriptet ska signeras.
Kör skript i 64-bitars PowerShell-värd: Välj Ja om du vill köra skriptet på en 64-bitars PowerShell-värd i en 64-bitars klientarkitektur. Välj Nej (standard) kör skriptet på en 32-bitars PowerShell-värd.
När du anger Ja eller Nej använder du följande tabell för nytt och befintligt principbeteende:
Köra skript i 64-bitars värd Klientarkitektur Nytt skript Befintligt principskript Nej 32-bitars 32-bitars PowerShell-värd stöds Körs endast i 32-bitars PowerShell-värd, vilket fungerar med 32-bitars- och 64-bitarsarkitekturer. Ja 64-bitars Kör skript i 64-bitars PowerShell-värd för 64-bitars arkitekturer. När det körs på 32-bitars körs skriptet på en 32-bitars PowerShell-värd. Kör skript i 32-bitars PowerShell-värd. Om den här inställningen ändras till 64-bitars öppnas skriptet (det körs inte) på en 64-bitars PowerShell-värd och rapporterar resultatet. När det körs på 32-bitars körs skriptet i 32-bitars PowerShell-värd. 
Välj Omfångstaggar. Omfångstaggar är valfria. Mer information finns i Använda rollbaserad åtkomstkontroll och omfångstaggar för distribuerad IT.
Så här lägger du till en omfångstagg:
Välj Välj omfångstaggar> välj en befintlig omfångstagg i listan >Välj.
När du är klar väljer du Nästa.
Välj TilldelningarVälj grupper som ska inkluderas>. En befintlig lista över Microsoft Entra grupper visas.
Välj en eller flera grupper som innehåller de användare vars enheter får skriptet. Välj Välj. De grupper som du har valt visas i listan och får din princip.
Obs!
PowerShell-skript i Intune kan riktas mot Microsoft Entra enhetssäkerhetsgrupper eller Microsoft Entra användarsäkerhetsgrupper. Men när du riktar in dig på wpj-enheter (workplace joined) kan endast Microsoft Entra enhetssäkerhetsgrupper användas (användarmål ignoreras).
Välj Nästa.
              
            
I Granska + lägg till visas en sammanfattning av de inställningar som du har konfigurerat. Välj Lägg till för att spara skriptet. När du väljer Lägg till distribueras principen till de grupper som du har valt.
Scenario – Det gick inte att köra skriptet
08.00
- Checka in
 - Kör skriptet ConfigScript01
 - Skriptet misslyckas
 
09.00
- Checka in
 - Kör skriptet ConfigScript01
 - Skriptet misslyckas (antal återförsök = 1)
 
10:00
- Checka in
 - Kör skriptet ConfigScript01
 - Skriptet misslyckas (antal återförsök = 2)
 
11.00
- Checka in
 - Kör skriptet ConfigScript01
 - Skriptet misslyckas (antal återförsök = 3)
 
12.00
- Checka in
 - Inga andra försök görs att köra skriptet ConfigScript01.
 - Om inga andra ändringar görs i skriptet görs inga andra försök att köra skriptet.
 
Övervaka körningsstatus
Du kan övervaka körningsstatusen för PowerShell-skript för användare och enheter i portalen.
I PowerShell-skript väljer du det skript som ska övervakas, väljer Övervaka och väljer sedan någon av följande rapporter:
- Enhetsstatus
 - Användarstatus
 
Obs!
Enhetsstatusexporter från Intune-administrationscentret för plattformsskript använder nu Intune Export API och CSV-kolumnnamnen överensstämmer med API-schemat.
Ta bort ett skript
Högerklicka på skriptet i PowerShell-skript och välj Ta bort.
Vanliga problem och lösningar
Problem: PowerShell-skript körs inte
Möjliga lösningar:
PowerShell-skripten körs inte vid varje inloggning. De körs:
När skriptet har tilldelats till en enhet
Om du ändrar skriptet laddar du upp det och tilldelar skriptet till en användare eller enhet
Tips
Microsoft Intune-hanteringstillägget är en tjänst som körs på enheten, precis som alla andra tjänster som anges i services-appen (services.msc). När en enhet har startats om kan den här tjänsten startas om och söka efter tilldelade PowerShell-skript med Intune-tjänsten. Om microsoft Intune-hanteringstilläggstjänsten är inställd på Manuell kanske tjänsten inte startas om efter att enheten har startats om.
Kontrollera att enheterna är anslutna till Microsoft Entra-ID. Enheter som bara är registrerade på din arbetsplats eller organisation i Microsoft Entra-ID får inte skripten.
Bekräfta att Intune-hanteringstillägget har laddats ned till
%ProgramFiles(x86)%\Microsoft Intune Management Extension.Skript körs inte på Surface Hubs eller Windows i S-läge.
Granska loggarna efter eventuella fel. Se Loggar för Intune-hanteringstillägg (i den här artikeln).
Kontrollera att egenskaperna för PowerShell-skriptet är inställda
Run this script using the logged on credentialspå för eventuella behörighetsproblem. Kontrollera också att den inloggade användaren har rätt behörigheter för att köra skriptet.Om du vill isolera skriptproblem kan du:
Granska PowerShell-körningskonfigurationen på dina enheter. Mer information finns i PowerShell-körningsprincipen .
Kör ett exempelskript med intune-hanteringstillägget. Skapa till exempel
C:\Scriptskatalogen och ge alla fullständig kontroll. Kör följande skript:write-output "Script worked" | out-file c:\Scripts\output.txtOm det lyckas bör output.txt skapas och ska innehålla texten "Skriptet fungerade".
Om du vill testa skriptkörning utan Intune kör du skripten i systemkontot med hjälp av psexec-verktyget lokalt:
psexec -i -sOm skriptet rapporterar att det lyckades, men det inte lyckades, är det möjligt att antivirustjänsten kan vara sandbox-tjänsten AgentExecutor. Följande skript rapporterar alltid ett fel i Intune. Som ett test kan du använda det här skriptet:
Write-Error -Message "Forced Fail" -Category OperationStopped mkdir "c:\temp" echo "Forced Fail" | out-file c:\temp\Fail.txtOm skriptet rapporterar ett lyckat resultat kan du titta på
AgentExecutor.logför att bekräfta felutdata. Om skriptet körs ska längden vara >2.För att samla in
.errorfilerna och.outputkör följande kodfragment skriptet via AgentExecutor till PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Den behåller loggarna för din granskning. Kom ihåg att Intune-hanteringstillägget rensar loggarna när skriptet har körts:$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
Problem: Varför körs skript trots att Windows inte längre hanteras?
När en Windows-enhet med tilldelade skript inte längre hanteras tas inte IME bort omedelbart. IME identifierar att Windows inte hanteras vid nästa IME-incheckning (vanligtvis var 8:e timme) och avbryter skriptkörningar. Under tiden kan alla lokalt lagrade skript köras. När IME inte kan checka in försöker den checka in igen i upp till 24 timmar (enhetens aktiva tid) och tar sedan bort sig själv från Windows-enheten.