Platí pro
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

Původní datum publikování: úterý 9. prosince 2025

ID znalostní báze: 5074596

Tento článek popisuje změnu, která se týká především podnikových nebo IT prostředí, kde se skripty PowerShellu používají k automatizaci a načítání webového obsahu. Lidé používání zařízení v osobním nebo domácím nastavení obvykle nemusí provádět žádnou akci, protože tyto scénáře jsou neobvyklé mimo prostředí spravovaná IT.

Změnit datum

Změnit popis

úterý 20. prosince 2025

  • Do části Souhrn se přidalo upozornění zabezpečení.

  • Pro přehlednost byl do oddílu Souhrn přidán následující odstavec: Příkaz Invoke-WebRequest PowerShellu provede požadavek HTTP nebo HTTPS na webový server a vrátí výsledky. Tento článek dokumentuje změnu posílení zabezpečení, kdy Windows PowerShell 5.1 záměrně zobrazuje výzvu k potvrzení zabezpečení při použití příkazu Invoke-WebRequest k načtení webových stránek bez speciálních parametrů. K tomuto chování dochází po instalaci podporovaných klientů a serverů systému Windows instalace windows Aktualizace vydané 9. prosince 2025 a později. Další informace najdete v článku CVE-2025-54100.

  • Do části "Pro automatizované skripty nebo naplánované úkoly" v možnosti 1 v části Provést akci byly přidány následující odrážky.

    • Skripty, které se spouští s možností bez profilu: Pokud má skript mnoho výskytů volání Invoke-WebRequest, deklarujte $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true v horní části skriptu.

    • Při použití invoke-WebRequest s parametrem -UseBasicParsing není možná analýza úplného modelu DOM (Document Object Model) pomocí komponent aplikace Internet Explorer (HTMLDocument Interface (mshtml)).

  • Do odrážky Modernizace přístupu k webovým interakcím u možnosti 2 v části Provést akci byla přidána následující odrážka.

    • Invoke-Webrequest v PowerShellu Core (verze 7.x nebo novější) nepodporuje parsování modelu DOM pomocí komponent Internet Exploreru. Výchozí analýza bezpečně načte obsah bez spuštění skriptu.

Shrnutí

Windows PowerShell 5.1 teď při použití příkazu Invoke-WebRequest k načtení webových stránek bez speciálních parametrů zobrazí výzvu k potvrzení zabezpečení.

Upozornění zabezpečení: Riziko spuštění skriptu Invoke-WebRequest analyzuje obsah webové stránky. Kód skriptu na webové stránce se může spustit při analýze stránky.

DOPORUČENÁ AKCE: Pokud chcete zabránit spuštění kódu skriptu, použijte přepínač -UseBasicParsing.

Chcete pokračovat?

Tato výzva varuje, že skripty na stránce by mohly být spuštěny během analýzy, a doporučuje použití parametru -UseBasicParsing, aby se zabránilo spuštění skriptu. Uživatelé musí v operaci pokračovat nebo ji zrušit. Tato změna pomáhá chránit před škodlivým webovým obsahem tím, že před potenciálně rizikovými akcemi vyžaduje souhlas uživatele.

Příkaz Invoke-WebRequest v PowerShellu provede požadavek HTTP nebo HTTPS na webový server a vrátí výsledky. Tento článek dokumentuje změnu posílení zabezpečení, kde Windows PowerShell 5.1 záměrně zobrazuje výzvu k potvrzení zabezpečení při použití příkazu Invoke-WebRequest k načtení webových stránek bez speciálních parametrů. K tomuto chování dochází poté, co podporovaní klienti a servery systému Windows nainstalovali windows Aktualizace vydané 9. prosince 2025 a později. Další informace najdete v článku CVE-2025-54100.

Co se změnilo?

  • Předchozí chování

    • Úplná analýza modelu DOM (Document Object Model) pomocí komponent aplikace Internet Explorer (HTMLDocument Interface (mshtml)), které by mohly spouštět skripty ze staženého obsahu.

  • Nové chování

    • Výzva k potvrzení zabezpečení: Po instalaci aktualizací Windows vydaných 9. prosince 2025 nebo později spuštěním příkazu Invoke-WebRequest (označovaného také jako curl) v PowerShellu 5.1 se aktivuje výzva zabezpečení (pokud se nepoužívá žádný speciální parametr). V konzole PowerShellu se zobrazí výzva s upozorněním na riziko spuštění skriptuTo znamená, že PowerShell se pozastavuje, aby vás upozornil, že bez bezpečnostních opatření by se obsah skriptu webové stránky mohl spustit ve vašem systému při jeho zpracování. Pokud stisknete Enter (nebo zvolíte Ne), operace se z důvodu bezpečnosti ve výchozím nastavení zruší. PowerShell zobrazí zprávu, že byl zrušen kvůli obavám o zabezpečení, a navrhne opětovné spuštění příkazu pomocí parametru -UseBasicParsing pro bezpečné zpracování. Pokud zvolíte Ano, PowerShell bude pokračovat v parsování stránky pomocí starší metody (úplná analýza HTML), což znamená, že načte obsah a všechny vložené skripty jako dřív. Volba Ano v podstatě znamená, že přijímáte riziko a povolujete spuštění příkazu stejně jako předtím, zatímco zvolením možnosti Ne (výchozí) se akce zastaví, aby vás chránila.

    • Interaktivní vs. skriptované použití: Zavedení této výzvy má vliv především na interaktivní využití. V interaktivních relacích se zobrazí upozornění a budete muset reagovat. U automatizovaných skriptů (neinteraktivních scénářů, jako jsou naplánované úlohy nebo kanály CI) může tato výzva způsobit zablokování skriptu při čekání na vstup. Abyste tomu předešli, doporučujeme tyto skripty aktualizovat tak, aby explicitně používaly bezpečné parametry (viz níže), a ujistěte se, že nevyžadují ruční potvrzení.

Provedení akce

Většina skriptů a příkazů PowerShellu, které používají příkaz Invoke-WebRequest, bude dál fungovat s minimálními nebo žádnými úpravami. Například skripty, které stahují jenom obsah nebo pracují s textem odpovědi jako textem nebo daty, nejsou ovlivněny a nevyžadují žádné změny. 

Pokud máte skripty, které jsou touto změnou ovlivněny, použijte jeden z následujících přístupů.

Při načítání obsahu není potřeba žádná akce, pokud se obvykle používá příkaz Invoke-WebRequest k načtení obsahu (jako je stahování souborů nebo čtení statického textu) a nespoléháte se na pokročilou interakci s webem nebo parsování HTML DOM. Nové výchozí chování je bezpečnější – skripty vložené do webového obsahu se nespustí bez vašeho svolení – a toto je doporučená konfigurace pro většinu scénářů. 

V případě interaktivního použití jednoduše na novou výzvu zabezpečení odpovězte ne (nebo stisknutím klávesy Enter přijměte výchozí nastavení) a znovu spusťte příkaz s parametrem -UseBasicParsing, který bezpečně načte obsah. Tím se vyhnete spuštění kódu skriptu na načtené stránce. Pokud často načítáte webový obsah interaktivně, zvažte použití parametru -UseBasicParsing ve výchozím nastavení v příkazech, abyste výzvu úplně přeskočili a zajistili maximální bezpečnost. 

U automatizovaných skriptů nebo plánovaných úloh je aktualizujte tak, aby zahrnovaly parametr -UseBasicParsing ve volání Invoke-WebRequest. Tím se předem vyvolí bezpečné chování, aby se nezobrazovaly výzvy a skript běžel dál bez přerušení. Tím zajistíte, že vaše automatizace po aktualizaci poběží bez problémů a zároveň bude využívat vylepšené zabezpečení.

  • Pro skripty, které se spouští s možností -NoProfile: Pokud má skript mnoho výskytů volání Invoke-WebRequest, deklarujte $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true v horní části skriptu.

  • Při použití invoke-WebRequest s parametrem -UseBasicParsing není možná analýza úplného modelu DOM (Document Object Model) pomocí komponent aplikace Internet Explorer (HTMLDocument Interface (mshtml)).

V případě skriptů nebo automatizace, které pracují s nedůvěryhodným nebo veřejným webovým obsahem a vyžadují zpracování struktur nebo formulářů HTML, zvažte refaktoring nebo aktualizaci z důvodu dlouhodobé bezpečnosti. Místo toho, abyste se při parsování a spouštění potenciálně nebezpečných skriptů webových stránek nespoléhali na PowerShell, můžete: 

  • Použijte alternativní metody nebo knihovny parsování (například s obsahem webové stránky zacházejte jako s prostým textem nebo XML, s využitím knihoven regex nebo knihoven parsování XML/HTML, které nespouštějí skripty).

  • Modernizujte svůj přístup k webovým interakcím, například pomocí novějšího PowerShellu Core (verze 7.x nebo novější), který nezávisí na modulu Internet Exploreru a vyhýbá se spouštění skriptů, nebo pomocí specializovaných webových nástrojů, které zpracovávají obsah bezpečněji. Omezte závislost na funkcích specifických pro Internet Explorer, protože Internet Explorer je zastaralý. Naplánujte přepsání částí skriptů, které jsou na těchto funkcích závislé, aby mohly fungovat v prostředí, ve kterém se webový obsah zpracovává bezpečně.

    • Invoke-WebRequest v PowerShellu Core (verze 7.x nebo novější) nepodporuje parsování modelu DOM pomocí komponent Internet Exploreru. Výchozí analýza bezpečně načte obsah bez spuštění skriptu.

  • Cílem refaktoringu je dosáhnout potřebných funkcí, aniž byste se museli vystavit bezpečnostním rizikům, a tím přijmout bezpečnější výchozí hodnoty, které tato změna zavádí.

Pokud potřebujete použít úplné funkce parsování HTML příkazu Invoke-WebRequest (například interakci s poli formuláře nebo škrábání strukturovaných dat) a zdroji webového obsahu důvěřujete, můžete pokračovat ve starší verzi parsování případ od případu. V interaktivních relacích to jednoduše znamená, že v potvrzovací výzvě zvolíte Ano, aby operace mohla pokračovat. Pokaždé, když to uděláte, obdržíte připomenutí o bezpečnostním riziku. Pokračování bez parametru -UseBasicParsing by mělo být omezeno na scénáře, ve kterých plně důvěřujete webovému obsahu (například interním webovým aplikacím pod kontrolou nebo známým bezpečným webům). 

Důležité informace: Tento přístup se nedoporučuje pro skripty spuštěné s nedůvěryhodným nebo veřejným webovým obsahem, protože znovu představuje riziko spuštění tichých skriptů, které má tato aktualizace zmírnit. Pro neinteraktivní automatizaci také neexistuje žádný integrovaný mechanismus pro automatické vyjádření souhlasu s výzvou, takže spoléhat se na úplné parsování ve skriptech není vhodné (kromě toho, že je to riskantní). Tuto možnost používejte střídmě a jenom jako dočasné opatření.

Nejčastější dotazy​​​​​​​

Ve většině případů budou skripty, které stahují soubory nebo načítají webový obsah jako text, fungovat i nadále. Pokud se chcete výzvě vyhnout, přidejte parametr -UseBasicParsing.

 Skripty používající pokročilou analýzu HTML (například formuláře nebo MODEL DOM) můžou přestat reagovat nebo vydávat nezpracovaná data místo strukturovaných objektů. Budete muset přepnout na základní parsování nebo upravit skript, aby se obsah zpracovával jinak. 

Vždy používejte parametr -UseBasicParsing s příkazem Invoke-WebRequest ve skriptech PowerShellu, aby se zajistilo bezpečné neinteraktivní spouštění.  

Ano. Skripty v závislosti na starších verzích parsování musí být aktualizovány, aby se přihlásily nebo refaktorují.

Změna v PowerShellu se vztahuje na standardní aktualizace i aktualizace hotpatch, což vede ke stejné změně chování.

Ano. PowerShell 7 už ve výchozím nastavení používá zabezpečenou analýzu.

S žádostí o plány podpory se obraťte na vlastníky modulů. Při migraci můžete dočasně použít výslovný souhlas s důvěryhodným obsahem.

Pokud se chcete na tuto změnu připravit a ověřit, doporučujeme: 

  • Identifikujte skripty pomocí funkcí DOM.

  • Otestujte automatizaci s novým výchozím nastavením.

  • Omezte souhlas starší verze s důvěryhodnými zdroji.

  • Naplánujte refaktoring nedůvěryhodného obsahu.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.