Käytetään kohteeseen
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

Alkuperäinen julkaisupäivä: 9. joulukuuta 2025

KB-tunnus: 5074596

Tässä artikkelissa kuvataan muutos, joka vaikuttaa pääasiassa yritys- tai IT-hallittuihin ympäristöihin, joissa PowerShell-komentosarjoja käytetään automaatioon ja verkkosisällön noutamiseen. Ihmiset laitteiden käyttäminen henkilökohtaisissa tai kotiasetuksissa ei yleensä edellytä mitään toimia, koska nämä skenaariot ovat harvinaisia IT-hallittujen ympäristöjen ulkopuolella.

Päivämäärän muuttaminen

Muuta kuvausta

20. joulukuuta 2025

  • Lisäsi "Suojausvaroitus" Yhteenveto-osaan.

  • Lisäsin seuraavan kappaleen Yhteenveto-osaan selkeyden vuoksi: PowerShellin Invoke-WebRequest-komento tekee HTTP- tai HTTPS-pyynnön verkkopalvelimeen ja palauttaa tulokset. Tämä artikkeli dokumentoi kovettavan muutoksen, jossa Windows PowerShell 5.1 näyttää tarkoituksellisesti suojausvahvistuskehotteen käyttäessään Invoke-WebRequest-komentoa verkkosivujen noutamiseen ilman erityisiä parametreja. Tämä tapahtuu sen jälkeen, kun tuetut Windows-asiakasohjelmat ja palvelimet ovat asentaneet Windows Päivitykset julkaistu 9. joulukuuta 2025 ja sen jälkeen. Lisätietoja on artikkelissa CVE-2025-54100.

  • Lisäsi seuraavat luettelomerkit "Automaattisille komentosarsareille tai ajoitettaville tehtäville" "Toimi" -osan vaihtoehdossa 1.

    • Komentosarjat, jotka suoritetaan ilman profiilia -vaihtoehdolla: Jos komentosarjalla on useita Invoke-WebRequest kutsuja, määritä $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true komentosarjan yläosassa.

    • Kun Invoke-WebRequestia käytetään -UseBasicParsing-parametrin kanssa, Full Document Object Model (DOM) -jäsennys Internet Explorer -komponenteilla (HTMLDocument Interface (mshtml)) ei ole mahdollista.

  • Lisätty seuraava luettelomerkki Vaihtoehdon 2 "Toimi" -osan "Modernize your approach to web interactions" -luettelomerkkipisteeseen.

    • Invoke-Webrequest Powershell Coressa (versio 7.x tai uudempi) ei tue DOM-jäsennystä Internet Explorerin osien avulla. Sen oletus jäsennys noutaa sisällön turvallisesti ilman komentosarjan suorittamista.

Yhteenveto

Windows PowerShell 5.1 näyttää nyt suojausvahvistuskehotteen käyttäessäsi Invoke-WebRequest-komentoa verkkosivujen noutamiseen ilman erityisiä parametreja.

Suojausvaroitus: Komentosarjan suoritusriski Invoke-WebRequest jäsentää verkkosivun sisällön. Verkkosivun komentosarjakoodi voidaan suorittaa, kun sivua jäsennetään.

SUOSITELTU TOIMINTO: Käytä -UseBasicParsing-valitsinta komentosarjakoodin suorittamisen välttämiseksi.

Haluatko jatkaa?

Tämä kehote varoittaa, että sivun komentosarjat voivat toimia jäsennyksen aikana, ja neuvoo käyttämään -UseBasicParsing-parametria komentosarjojen suorittamisen välttämiseksi. Käyttäjien on jatkettava tai peruutettava toiminto. Tämä muutos auttaa suojautumaan haitalliselta verkkosisällöltä vaatimalla käyttäjän suostumuksen ennen mahdollisesti riskialttiita toimia.

PowerShellin Invoke-WebRequest-komento tekee HTTP- tai HTTPS-pyynnön verkkopalvelimeen ja palauttaa tulokset. Tässä artikkelissa dokumentoidaan koveneva muutos, jossa Windows PowerShell 5.1 näyttää tarkoituksellisesti suojausvahvistuskehotteen käyttäessään Invoke-WebRequest-komentoa verkkosivujen noutamiseen ilman erityisiä parametreja. Tämä tapahtuu sen jälkeen, kun tuetut Windows-asiakasohjelmat ja palvelimet ovat asentaneet Windows Päivitykset julkaistu 9. joulukuuta 2025 ja sen jälkeen. Lisätietoja on artikkelissa CVE-2025-54100.

Mikä muuttui?

  • Aiempi toiminta

    • Full Document Object Model (DOM) -jäsennys Käyttämällä Internet Explorer -osia (HTMLDocument Interface (mshtml)), jotka voivat suorittaa komentosarjoja ladatusta sisällöstä.

  • Uusi toimintatapa

    • Suojausvahvistuskehote: Kun olet asentanut 9. joulukuuta 2025 tai sen jälkeen julkaistut Windows-päivitykset, Invoke-WebRequest-komennon (tunnetaan myös nimellä curl) suorittaminen PowerShell 5.1:ssä käynnistää suojauskehotteen (kun mitään erityistä parametria ei käytetä). Kehote tulee näkyviin PowerShell-konsoliin ja antaa varoituksen Komentosarjojen suorittamisen riskistäTämä tarkoittaa, että PowerShell pysähtyy varoittamaan sinua siitä, että ilman varotoimia verkkosivun komentosarjasisältö voidaan suorittaa järjestelmässäsi, kun sitä käsitellään. Jos painat enter-näppäintä (tai valitset Ei), toiminto peruutetaan oletusarvoisesti turvallisuuden vuoksi. PowerShell näyttää viestin, jonka mukaan se on peruutettu suojausongelmien vuoksi, ja ehdottaa komennon käynnistämistä uudelleen käyttämällä -UseBasicParsing-parametria turvalliseen käsittelyyn. Jos valitset Kyllä, PowerShell jatkaa sivun jäsentämistä vanhemmalla menetelmällä (täydellinen HTML-jäsennys), mikä tarkoittaa, että se lataa sisällön ja kaikki upotetut komentosarjat samalla tavalla kuin ennen. Käytännössä Kyllä-vaihtoehdon valitseminen tarkoittaa, että hyväksyt riskin ja sallit komennon suorittamisen samalla tavalla kuin ennenkin, kun valitset Ei (oletus) pysäyttää toiminnon suojataksesi sinut.

    • Vuorovaikutteinen ja komentosarjakäyttö: Tämän kehotteen käyttöönotto vaikuttaa ensisijaisesti vuorovaikutteisesti käyttöön. Vuorovaikutteisessa istunnossa näet varoituksen ja joudut vastaamaan. Automaattisissa komentosarjoissa (ei-vuorovaikutteiset skenaariot, kuten ajoitetut tehtävät tai CI-putket), tämä kehote saattaa aiheuttaa komentosarjan jumittumisen syötettä odotettaessa. Tämän välttämiseksi suosittelemme päivittämään tällaiset komentosarjat käyttämään nimenomaisesti turvallisia parametreja (katso alla) varmistaen, että ne eivät edellytä manuaalista vahvistusta.

Toimi

Useimmat PowerShell-komentosarjat ja -komennot, jotka käyttävät Invoke-WebRequest-komentoa, toimivat edelleen vain vähän tai eivät lainkaan. Esimerkiksi komentosarjat, jotka lataavat vain sisältöä tai toimivat vastaustekstin kanssa tekstinä tai tietoina, eivät vaikuta eikä vaadi muutoksia. 

Jos tämä muutos koskee komentosarjoja, käytä jotakin seuraavista tavoista.

Sisällön noutamisessa ei tarvita mitään toimia, jos invoke-WebRequest-komentoa käytetään tavallisesti sisällön noutamiseen (kuten tiedostojen lataamiseen tai staattisen tekstin lukemiseen), etkä luota sivuston kehittyneeseen vuorovaikutukseen tai HTML DOM -jäsennykseen. Uusi oletustoiminta on turvallisempi– verkkosisältöön upotettuja komentosarjoja ei suoriiteta ilman lupaasi, ja tämä on suositeltu määritys useimmissa skenaarioissa. 

Jos haluat käyttää vuorovaikutteista käyttöä, vastaa ei uuteen suojauskehotteeseen (tai hyväksy oletus painamalla Enter-näppäintä ) ja suorita komento uudelleen -UseBasicParsing-parametrilla sisällön turvalliseen noutamiseen. Näin vältät komentosarjakoodin suorittamisen noudetulla sivulla. Jos haet usein verkkosisältöä vuorovaikutteisesti, harkitse komentojen oletusarvoisesti -UseBasicParsing-parametrin käyttämistä, jotta voit ohittaa kehotteen kokonaan ja varmistaa parhaan mahdollisen turvallisuuden. 

Jos haluat käyttää automaattisia komentosarjoja tai ajoitettuja tehtäviä, päivitä ne sisällyttämällä -UseBasicParsing-parametriInvoke-WebRequest-puheluihin. Tämä määrittää turvallisen toiminnan valmiiksi niin, että kehote ei tule näkyviin ja komentosarja toimii keskeytyksettä. Näin varmistat, että automaatio toimii saumattomasti päivityksen jälkeen ja hyödynnät silti parannettua suojausta.

  • Komentosarjat, joissa on -NoProfile-vaihtoehto: Jos komentosarjalla on useita Invoke-WebRequest-kutsuja, määritä $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true komentosarjan yläosassa.

  • Kun Invoke-WebRequestia käytetään -UseBasicParsing-parametrin kanssa, Full Document Object Model (DOM) -jäsennys Internet Explorer -komponenteilla (HTMLDocument Interface (mshtml)) ei ole mahdollista.

Jos kyseessä on komentosarja tai automaatio, joka käsittelee ei-luotettua tai julkista verkkosisältöä ja edellyttää HTML-rakenteiden tai -lomakkeiden käsittelyä, harkitse niiden tarkentamista tai päivittämistä pitkän aikavälin turvallisuuden varmistamiseksi. Sen sijaan, että luottaisit PowerShellin jäsentämiseen ja mahdollisesti vaarallisten verkkosivujen komentosarjojen suorittamiseen, voit: 

  • Käytä vaihtoehtoisia jäsennysmenetelmiä tai -kirjastoja (käsittele verkkosivun sisältöä esimerkiksi vain teksti- tai XML-muodossa käyttämällä rekisteri- tai XML/HTML-jäsennyskirjastoja, jotka eivät suorita komentosarjoja).

  • Modernisoi lähestymistapaasi verkkotoimintoihin, esimerkiksi käyttämällä uudempaa PowerShell Corea (versio 7.x tai uudempi), joka ei ole riippuvainen Internet Explorerin moduulista ja välttää komentosarjojen suorittamisen, tai käyttämällä erityisiä verkkokaappaustyökaluja, jotka käsittelevät sisältöä turvallisemmin. Rajoita riippuvuutta Internet Explorerin ominaisuuksista, koska Internet Explorer on vanhentunut. Suunnittele, että komentosarjat, jotka ovat riippuvaisia näistä ominaisuuksista, kirjoitetaan uudelleen, jotta ne voivat toimia ympäristössä, jossa verkkosisältöä käsitellään turvallisesti.

    • Invoke-WebRequest PowerShell Coressa (versio 7.x tai uudempi) ei tue DOM-jäsennystä Internet Explorerin osien avulla. Sen oletus jäsennys noutaa sisällön turvallisesti ilman komentosarjan suorittamista.

  • Refactoringin tavoitteena on saavuttaa tarvittava toiminto ilman, että altistut tietoturvariskeille, jolloin tämä muutos tuo mukanaan turvallisemmat oletusarvot.

Jos sinulla on erityinen tarve käyttää Invoke-WebRequest-komennon kaikkia HTML-jäsennysominaisuuksia (kuten lomakekenttien käsitteleminen tai jäsennettyjen tietojen raaputtaminen) ja luotat verkkosisällön lähteeseen, voit silti jatkaa vanhaa jäsennystoimintoa tapauskohtaisesti. Vuorovaikutteisessa istunnossa tämä tarkoittaa sitä, että valitset vahvistuskehotteesta Kyllä, jotta toiminto voi jatkua. Saat aina muistutuksen suojausriskistä. Jatkaminen ilman -UseBasicParsing-parametria tulisi rajoittaa skenaarioihin, joissa luotat täysin verkkosisältöön (esimerkiksi sisäisiin verkkosovelluksiin, jotka ovat hallinnassasi tai tunnettuihin turvallisiin sivustoihin). 

Tärkeää: Tätä menetelmää ei suositella komentosarjoille, jotka ovat epäluotettavaa tai julkista verkkosisältöä vastaan, koska se ottaa uudelleen käyttöön hiljaisen komentosarjan suorittamisen riskin, jota tämän päivityksen on tarkoitus lieventää. Lisäksi ei-vuorovaikutteisessa automaatiossa ei ole sisäänrakennettua mekanismia, joka automaattisesti suostuisi kehotteeseen, joten täyden jäsennyksen käyttö komentosarjoissa ei ole suositeltavaa (sen lisäksi, että se on riskialtista). Käytä tätä asetusta säästeliäästi ja vain väliaikaisena mittayksikkönä.

Usein kysytyt kysymykset​​​​​​​

Useimmissa tapauksissa komentosarjat, jotka lataavat tiedostoja tai hakevat verkkosisältöä tekstinä, toimivat edelleen. Voit välttää kehotteen lisäämällä -UseBasicParsing-parametrin.

 Html-lisä jäsennystä käyttävät komentosarjat (kuten lomakkeet tai DOM) voivat jumittua tai tuoda raw-tietoja jäsennettyjen objektien sijaan. Sinun on siirryttävä perusmuotoiluun tai muokattava komentosarjaa käsitelläksesi sisältöä eri tavalla. 

Käytä aina -UseBasicParsing-parametriaPowerShell-komentosarjojen Invoke-WebRequest-komennon kanssa turvallisen, ei-vuorovaikutteisen suorittamisen varmistamiseksi.  

Kyllä. Aiempien jäsennysten mukaan komentosarjat on päivitettävä, jotta ne voidaan ottaa käyttöön tai tarkentaa.

PowerShellin muutos koskee sekä vakiopäivityksiä että hotpatch-päivityksiä, mikä aiheuttaa saman toiminnan muutoksen.

Kyllä. PowerShell 7 käyttää jo oletusarvoisesti suojattua jäsennystä.

Ota yhteyttä moduulien omistajiin tukisuunnitelmia varten. Ota käyttöön luotettu sisältö tilapäisesti siirrettäessä.

Suosittelemme, että valmistaudut muutokseen ja vahvistat sen seuraavasti: 

  • Tunnista komentosarjat DOM-ominaisuuksien avulla.

  • Testaa automaatio uudella oletusarvolla.

  • Rajoita vanha valinta luotettaviin lähteisiin.

  • Suunnittele ei-luotetun sisällön refactoring.

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.