Kommentar
Å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.
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 inställda på användarkontext med administratörsbehörighet kör PowerShell som standard under administratörsbehörighet.
Slutanvändarna behöver inte logga in på enheten för att köra PowerShell-skript.
Intune Management Extension söker efter varje omstart efter eventuella nya skript eller ändringar. När du har tilldelat principen till Microsoft Entra -grupperna körs PowerShell skriptet och körningsresultatet 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 igen tre gånger för de kommande tre på varandra följande incheckningarna av Intune Management Extension.
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. Win32-appar körs sedan.
PowerShell-skript når 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 personuppgifter i skript
- Använd inte skript för att samla in personliga data från enheter
- Följ alltid metodtipsen för sekretess
Relaterad information finns i Reparationer.
Förhandskrav
- Intune Management Extension installeras automatiskt när en PowerShell skriptapp tilldelas användaren eller enheten. Mer information finns i Intune Management Extension för Windows.
Viktigt
Skript som distribueras till klienter som kör Intune Management Extension kan inte köras om enhetens systemklocka är mycket inaktuell med 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 Enheter>, skript och åtgärder:>>PlattformsskriptAddWindows>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 för 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) om du vill köra skriptet med användarens autentiseringsuppgifter på enheten. Välj Nej om du vill köra skriptet i systemkontexten. Många administratörer väljer Ja. Om skriptet måste köras i systemkontexten väljer du Nej.
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 vara signerat.
Kör skript i 64-bitars PowerShell-värd: Välj Ja om du vill köra skriptet i en 64-bitars PowerShell-värd på en 64-bitars klientarkitektur. Välj Nej (standard) kör skriptet på en 32-bitars PowerShell-värd.
När du anger Ja ellerNej använder du följande tabell för nya och befintliga principbeteenden:
Köra skript i 64-bitars värd Klientarkitektur Nytt skript Befintligt principskript Nej 32-bitars Stöd för 32-bitars PowerShell-värd Kan bara köras i 32-bitars PowerShell-värd, som fungerar på 32- och 64-bitarsarkitekturer. Ja 64-bitars Kör skript i 64-bitars PowerShell-värd för 64-bitarsarkitekturer. När skriptet körs på 32-bitars körs det 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 skriptet körs på 32-bitars körs det i 32-bitars PowerShell-värden.
Välj Omfångstaggar. Omfångstaggar är valfria. Använda rollbaserad åtkomstkontroll och omfångstaggar för distribuerad IT har mer information.
Så här lägger du till en omfångstagg:
Välj Välj omfångstaggar> och välj en befintlig omfångstagg i listan >Välj.
När du är klar väljer du Nästa.
Välj uppgifter>Välj vilka grupper som ska inkluderas. En befintlig lista över Microsoft Entra -grupper visas.
Markera en eller flera grupper som innehåller de användare vars enheter tar emot skriptet. Välj Välj. De grupper du väljer visas i listan och får din princip.
Obs!
PowerShell-skript i Intune kan riktas till Microsoft Entra enhetssäkerhetsgrupper eller Microsoft Entra användarsäkerhetsgrupper. Men vid mål för arbetsplatsanslutna (WPJ) enheter 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 väljer.
Scenario – Det gick inte att köra skriptet
08:00
- Incheckning
- Kör skript ConfigScript01
- Skriptet misslyckas
09:00
- Incheckning
- Kör skript ConfigScript01
- Skriptet misslyckas (antal återförsök = 1)
KLOCKAN 10
- Incheckning
- Kör skript ConfigScript01
- Skriptet misslyckas (antal återförsök = 2)
Klockan 11
- Incheckning
- Kör skript ConfigScript01
- Skriptet misslyckas (antal återförsök = 3)
12 PM
- Incheckning
- Inga andra försök görs att köra ConfigScript01-skriptet.
- 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 skriptet som ska övervakas, väljer Övervaka och väljer sedan någon av följande rapporter:
- Enhetsstatus
- Användarstatus
Obs!
Enhetsstatusexporter från Intune administrationscenter för plattformsskript använder nu Intune Export API och CSV-kolumnnamnen överensstämmer med API-schemat.
Ta bort ett skript
I PowerShell-skript högerklickar du på skriptet och väljer 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ör:
När skriptet tilldelas till en enhet
Om du ändrar skriptet laddar du upp det och tilldelar skriptet till en användare eller enhet
Tips
Microsoft Intune Management Extension är en tjänst som körs på enheten, precis som alla andra tjänster som visas i appen Services (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 tjänsten Microsoft Intune Management Extension är inställd på Manuell kanske inte tjänsten startas om när enheten startats om.
Kontrollera att enheterna är anslutna till Microsoft Entra ID. Enheter som endast är registrerade med 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.Skripten kan inte köras på Surface Hub eller Windows i S-läge.
Granska loggarna och se om det finns några fel. Se Tilläggsloggar för Intune-hanteringstillägg (i den här artikeln).
Vid möjliga behörighetsproblem kontrollerar du att egenskaperna för PowerShell-skriptet är inställda
Run this script using the logged on credentialspå . Kontrollera även att den inloggade användaren har rätt behörighet för att köra skriptet.Du kan isolera skriptproblem genom att:
Granska PowerShell-körningskonfigurationen på dina enheter. Mer information finns i körningsprincipen för PowerShell .
Kör ett exempelskript med hjälp av Intune-hanteringstillägget. Skapa till exempel katalogen
C:\Scriptsoch ge alla full kontroll. Kör följande skript:write-output "Script worked" | out-file c:\Scripts\output.txtOm det lyckas bör output.txt skapas, och bör innehålla texten "Skript 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 faktiskt inte lyckades, är det möjligt att antivirustjänsten kan sandbox-ange 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 försök kontrollerar
AgentExecutor.logdu felet. Om skriptet körs ska längden vara >2.För att samla in
.erroroch.outputkör följande kodfragment skriptet via AgentExecutor till PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Loggarna sparas så att du kan granska dem. Kom ihåg att Intune Management Extension 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 IME:n inte bort omedelbart. IME upptäcker att Windows inte hanteras vid nästa IME-incheckning (vanligtvis var 8:e timme) och avbryter skriptkörningar. Under tiden kan alla lokalt sparade skript köras. När IME inte kan checka in försöker det checka in igen i upp till 24 timmar (enhetens aktiveringstid) och tar sedan bort sig själv från Windows-enheten.