Gäller för
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2008 Premium Assurance Windows Server 2008 R2 Premium Assurance Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Ursprungligt publiceringsdatum: den 9 december 2025

KB-ID: 5074596

I den här artikeln beskrivs en ändring som främst påverkar företagsmiljöer eller IT-hanterade miljöer där PowerShell-skript används för automatisering och hämtning av webbinnehåll. Personer att använda enheter i personliga inställningar eller heminställningar behöver vanligtvis inte vidta någon åtgärd, eftersom dessa scenarier är ovanliga utanför IT-hanterade miljöer.

Ändra datum

Ändra beskrivning

den 20 december 2025

  • Lade till "Säkerhetsvarning" i avsnittet "Sammanfattning".

  • Följande stycke har lagts till i avsnittet "Sammanfattning": PowerShells Invoke-WebRequest-kommando gör en HTTP- eller HTTPS-begäran till en webbserver och returnerar resultatet. I den här artikeln beskrivs en härdningsändring där Windows PowerShell 5.1 avsiktligt visar en uppmaning om säkerhetsbekräftelse när kommandot Invoke-WebRequest används för att hämta webbsidor utan särskilda parametrar. Det här beteendet inträffar efter att Windows-klienter och -servrar som stöds har installerat installationen av Windows Uppdateringar som släpptes den 9 december 2025 och senare. Mer information finns i CVE-2025-54100.

  • Följande punkter har lagts till i "För automatiska skript eller schemalagda aktiviteter" i alternativ 1 i avsnittet Vidta åtgärder.

    • För skript som körs utan profil: Om skriptet innehåller många förekomster av Invoke-WebRequest-anrop deklarerar du $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true högst upp i skriptet.

    • När Invoke-WebRequest används med parametern -UseBasicParsing går det inte att tolka DOM (Full Document Object Model) med hjälp av Internet Explorer-komponenter (HTMLDocument Interface (mshtml)).

  • Följande punkt har lagts till i punktpunkten "Modernisera din metod för webbinteraktioner" i alternativ 2 i avsnittet "Vidta åtgärder".

    • Invoke-Webrequest i Powershell Core (version 7.x eller senare) stöder inte DOM-tolkning med Hjälp av Internet Explorer-komponenter. Standardparsningen hämtar säkert innehållet utan skriptkörning.

Sammanfattning

Windows PowerShell 5.1 visar nu en säkerhetsbekräftelsefråga när kommandot Invoke-WebRequest används för att hämta webbsidor utan särskilda parametrar.

Säkerhetsvarning: Risk för skriptkörning Invoke-WebRequest tolkar innehållet på webbsidan. Skriptkoden på webbsidan kan köras när sidan tolkas.

REKOMMENDERAD ÅTGÄRD: Använd växeln -UseBasicParsing för att undvika körning av skriptkod.

Vill du fortsätta?

Den här uppmaningen varnar för att skript på sidan kan köras under parsning och rekommenderar att du använder parametern -UseBasicParsing för att undvika körning av skript. Användarna måste välja att fortsätta eller avbryta åtgärden. Den här ändringen skyddar mot skadligt webbinnehåll genom att kräva användarens medgivande innan potentiellt riskfyllda åtgärder.

PowerShell-kommandot Invoke-WebRequest gör en HTTP- eller HTTPS-begäran till en webbserver och returnerar resultatet. I den här artikeln beskrivs en härdningsändring där Windows PowerShell 5.1 avsiktligt visar en uppmaning om säkerhetsbekräftelse när kommandot Invoke-WebRequest används för att hämta webbsidor utan särskilda parametrar. Det här beteendet inträffar efter att Windows-klienter och -servrar som stöds har installerat Windows Uppdateringar som släpptes 9 december 2025 och senare. Mer information finns i CVE-2025-54100.

Vad har ändrats?

  • Tidigare beteende

    • Dom-parsning (Full Document Object Model) med hjälp av Internet Explorer-komponenter (HTMLDocument Interface (mshtml)), som kan köra skript från nedladdat innehåll.

  • Nytt beteende

    • Fråga om säkerhetsbekräftelse: När du har installerat Windows-uppdateringarna som släpptes den 9 december 2025 eller senare utlöses ett säkerhetsmeddelande (när ingen särskild parameter används) när kommandot Invoke-WebRequest körs i PowerShell 5.1. Uppmaningen visas i PowerShell-konsolen med en varning om risken för körning av skriptDet innebär att PowerShell pausar för att varna dig om att webbsidans skriptinnehåll utan försiktighetsåtgärder kan köras på systemet när det bearbetas. Om du trycker på Retur (eller väljer Nej) avbryts åtgärden av säkerhetsskäl. PowerShell visar ett meddelande om att det har avbrutits på grund av säkerhetsproblem och föreslår att kommandot körs igen med parametern -UseBasicParsing för säker bearbetning. Om du väljer Ja fortsätter PowerShell att tolka sidan med den äldre metoden (fullständig HTML-tolkning), vilket innebär att innehållet och eventuella inbäddade skript läses in som det brukade. Att välja Ja innebär i princip att du accepterar risken och låter kommandot köras som det gjorde tidigare, medan du väljer Nej (standard) stoppar åtgärden för att skydda dig.

    • Interaktiv kontra skriptad användning: Införandet av den här uppmaningen påverkar främst interaktiv användning. I interaktiva sessioner visas varningen och du måste svara. För automatiserade skript (icke-interaktiva scenarier, till exempel schemalagda aktiviteter eller CI-rörledningar), kan den här uppmaningen göra att skriptet hänger sig medan du väntar på indata. För att undvika det rekommenderar vi att du uppdaterar sådana skript för att uttryckligen använda säkra parametrar (se nedan), så att de inte kräver manuell bekräftelse.

Vidta åtgärder

De flesta PowerShell-skript och -kommandon som använder kommandot Invoke-WebRequest fungerar fortfarande med liten eller ingen ändring. Skript som endast laddar ned innehåll eller arbetar med svarstexten som text eller data påverkas till exempel inte och kräver inga ändringar. 

Om du har skript som påverkas av den här ändringen använder du någon av följande metoder.

För att hämta innehåll krävs ingen åtgärd om din vanliga användning av kommandot Invoke-WebRequest är att hämta innehåll (t.ex. ladda ned filer eller läsa statisk text) och du inte förlitar dig på avancerad webbplatsinteraktion eller HTML DOM-tolkning. Det nya standardbeteendet är säkrare – skript inbäddade i webbinnehåll körs inte utan din tillåtelse – och det här är den rekommenderade konfigurationen för de flesta scenarier. 

För interaktiv användning behöver du bara svara Nej på den nya säkerhetsuppmaningsrutan (eller trycka på Retur för att acceptera standardinställningen) och köra kommandot igen med parametern -UseBasicParsing för att på ett säkert sätt hämta innehållet. På så sätt undviker du att skriptkoden körs på den hämtade sidan. Om du ofta hämtar webbinnehåll interaktivt kan du använda parametern -UseBasicParsing som standard i kommandona för att hoppa över frågan helt och hållet och garantera maximal säkerhet. 

För automatiska skript eller schemalagda aktiviteter uppdaterar du dem så att parametern -UseBasicParsing ingår i Invoke-WebRequest-anrop. Då markeras det säkra beteendet så att frågan inte visas och skriptet fortsätter att köras utan avbrott. Genom att göra detta ser du till att din automation körs smidigt efter uppdateringen samtidigt som du drar nytta av den förbättrade säkerheten.

  • För skript som körs med alternativet -NoProfile: Om skriptet innehåller många förekomster av Invoke-WebRequest-anropen deklarerar du $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true högst upp i skriptet.

  • När Invoke-WebRequest används med parametern -UseBasicParsing går det inte att tolka DOM (Full Document Object Model) med hjälp av Internet Explorer-komponenter (HTMLDocument Interface (mshtml)).

För skript eller automatisering som hanterar icke-betrott eller offentligt webbinnehåll och kräver bearbetning av HTML-strukturer eller -formulär kan du överväga att göra om eller uppdatera dem för långsiktig säkerhet. I stället för att förlita dig på Att PowerShell parsar och kör potentiellt farliga webbsideskript kan du: 

  • Använd alternativa tolkningsmetoder eller bibliotek (till exempel behandla webbsidans innehåll som oformaterad text eller XML, med hjälp av regex- eller XML/HTML-parsningsbibliotek som inte kör skript).

  • Modernisera din syn på webbinteraktioner, kanske med nyare PowerShell Core (version 7.x eller senare) som inte är beroende av Internet Explorers motor och undviker att köra skript, eller med hjälp av specialiserade webbskrapaverktyg som hanterar innehåll på ett säkrare sätt. Begränsa beroendet av Internet Explorer-specifika funktioner eftersom Internet Explorer är inaktuellt. Planera att skriva om delar av skripten som är beroende av dessa funktioner så att de kan fungera i en miljö där webbinnehåll hanteras på ett säkert sätt.

    • Invoke-WebRequest i PowerShell Core (version 7.x eller senare) stöder inte DOM-tolkning med Hjälp av Internet Explorer-komponenter. Standardparsningen hämtar säkert innehållet utan skriptkörning.

  • Målet med refaktoring är att uppnå nödvändiga funktioner utan att utsätta dig för säkerhetsrisker, och därmed omfatta de säkrare standarderna som införs genom denna ändring.

Om du har ett specifikt behov av att använda kommandot Invoke-WebRequests fullständiga HTML-tolkningsfunktioner (t.ex. interagera med formulärfält eller skrapa strukturerade data) och du litar på källan till webbinnehållet, kan du fortfarande fortsätta med det äldre tolkningsbeteendet från fall till fall. I interaktiva sessioner innebär det här bara att du väljer Ja i bekräftelsemeddelandet så att åtgärden kan fortsätta. Du får en påminnelse om säkerhetsrisken varje gång du gör det. Fortsätter utan parametern -UseBasicParsing bör begränsas till scenarier där du litar fullt ut på webbinnehållet (till exempel interna webbprogram under din kontroll eller kända säkra webbplatser). 

Viktigt!: Den här metoden rekommenderas inte för skript som körs mot icke-betrott eller offentligt webbinnehåll, eftersom den återinför risken för obevakad skriptkörning som den här uppdateringen är avsedd att minimera. För icke-interaktiv automation finns det dessutom ingen inbyggd mekanism för att automatiskt samtycka till uppmaningen, så det är inte lämpligt att förlita sig på fullständig tolkning i skript (förutom att vara riskabel). Använd det här alternativet sparsamt och endast som ett tillfälligt mått.

Vanliga frågor och svar​​​​​​​

I de flesta fall fungerar skript som laddar ned filer eller hämtar webbinnehåll som text fortfarande. Om du vill undvika uppmaningen lägger du till parametern -UseBasicParsing.

 Skript med avancerad HTML-tolkning (t.ex. formulär eller DOM) kan hänga sig eller mata ut rådata i stället för strukturerade objekt. Du måste växla till grundläggande tolkning eller ändra skriptet för att hantera innehåll på ett annat sätt. 

Använd alltid parametern -UseBasicParsing med kommandot Invoke-WebRequest i PowerShell-skript för att säkerställa säker, icke-interaktiv körning.  

Ja. Skript beroende på äldre tolkning måste uppdateras för att registrera dig eller göra en refaktor.

Ändringen i PowerShell gäller både standarduppdateringar och snabbsändningsuppdateringar, vilket resulterar i samma beteendeändring.

Ja. PowerShell 7 använder redan säker tolkning som standard.

Kontakta modulägare för supportavtal. Använd opt-in tillfälligt för betrott innehåll vid migrering.

För att förbereda och validera den här ändringen rekommenderar vi att du: 

  • Identifiera skript med DOM-funktioner.

  • Testa automatisering med den nya standardinställningen.

  • Begränsa äldre registrering till betrodda källor.

  • Planera refactoring för icke-betrott innehåll.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.