Отнася се за
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

Първоначална дата на публикуване: 9 декември 2025 г.

ИД на КБ: 5074596

Тази статия описва промяна, която засяга предимно корпоративни или ИТ управлявани среди, където скриптове на PowerShell се използват за автоматизация и извличане на уеб съдържание. Хора използването на устройства в лични или домашни настройки обикновено не е необходимо да предприемате никакви действия, тъй като тези сценарии са рядкост извън ИТ-управлявани среди.

Промяна на датата

Промяна на описанието

20 декември 2025 г.

  • Добавихме "Предупреждение за защитата" в секцията "Резюме".

  • За по-голяма яснота добавихме следния абзац към раздела "Резюме": Командата Invoke-WebRequest на PowerShell прави HTTP или HTTPS заявка към уеб сървър и връща резултатите. Тази статия описва промяна на втвърдяване, при която Windows PowerShell 5.1 нарочно показва подкана за потвърждение на защитата при използване на командата Invoke-WebRequest за извличане на уеб страници без специални параметри. Това поведение възниква, след като поддържаните клиенти и сървъри на Windows са инсталирали Windows Актуализации издадени на и след 9 декември 2025 г. За повече информация вижте CVE-2025-54100.

  • Добавихме следните водещи символи към "За автоматизирани скриптове или планирани задачи" в Опция 1 на секцията "Предприемане на действие".

    • За скриптове, които се изпълняват с опцията без профил: Ако скриптът има много повторения на Invoke-WebRequest повиквания, декларирайте $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true в горната част на скрипта.

    • Когато Invoke-WebRequest се използва с параметъра -UseBasicParsing, анализирането на обектен модел на пълен документ (DOM) с помощта на компоненти на Internet Explorer (HTMLDocument интерфейс (mshtml)) не е възможно.

  • Добавена е следната точка с водещ символ към точката с водещ символ "Модернизирай подхода си към уеб взаимодействията" на Опция 2 в секцията "Предприемане на действие".

    • Invoke-Webrequest в Powershell Core (версия 7.x или по-нова) не поддържа анализиране на DOM с помощта на компоненти на Internet Explorer. Неговото анализиране по подразбиране безопасно ще извлече съдържанието без изпълнение на скрипта.

Резюме

Windows PowerShell 5.1 сега показва подкана за потвърждение на защитата при използване на командата Invoke-WebRequest за извличане на уеб страници без специални параметри.

Предупреждение за защитата: Рискът от изпълнение на скрипт Invoke-WebRequest анализира съдържанието на уеб страницата. Кодът на скрипта в уеб страницата може да се изпълни, когато страницата се анализира.

ПРЕПОРЪЧИТЕЛНО ДЕЙСТВИЕ: Използвайте ключа -UseBasicParsing, за да избегнете изпълнение на код на скрипт.

Желаете ли да продължите?

Тази подкана предупреждава, че скриптовете в страницата може да се изпълняват по време на анализирането и препоръчва използването на параметъра -UseBasicParsing, за да се избегне изпълнението на скрипт. Потребителите трябва да изберат да продължат или да отменят операцията. Тази промяна помага за защитата срещу злонамерено уеб съдържание, като изисква съгласието на потребителя преди потенциално рискови действия.

Командата Invoke-WebRequest на PowerShell прави HTTP или HTTPS заявка към уеб сървър и връща резултатите. Тази статия описва втвърдяване на промяна, при която Windows PowerShell 5.1 нарочно показва подкана за потвърждение на защитата, когато се използва командата Invoke-WebRequest за извличане на уеб страници без специални параметри. Това поведение възниква, след като поддържаните клиенти и сървъри на Windows са инсталирали Windows Актуализации издадени на и след 9 декември 2025 г. За повече информация вижте CVE-2025-54100.

Какво е променено?

  • Предишно поведение

    • Анализ на обектен модел на целия документ (DOM) с помощта на компоненти на Internet Explorer (HTMLDocument интерфейс (mshtml)), който може да изпълнява скриптове от изтеглено съдържание.

  • Ново поведение

    • Подкана за потвърждение на защитата: След инсталирането на актуализациите на Windows, издадени на или след 9 декември 2025 г., изпълнението на командата Invoke-WebRequest (известно също като извиване) в PowerShell 5.1 ще задейства подкана за защита (когато не се използва специален параметър). Подканата се появява в конзолата на PowerShell с предупреждение относно риска от изпълнение на скриптТова означава, че PowerShell спира да ви предупреждава, че без предпазни мерки съдържанието на скрипта на уеб страницата може да се изпълни във вашата система, когато се обработи. По подразбиране, ако натиснете Клавиша Enter (или изберете Не), операцията ще бъде отменена с цел безопасност. PowerShell ще покаже съобщение, че е отменено поради проблеми със защитата, и предлага повторно изпълнение на командата с помощта на параметъра -UseBasicParsing за безопасна обработка. Ако изберете Да, PowerShell ще продължи да анализира страницата с помощта на по-стария метод (пълно анализиране на HTML), което означава, че ще зареди съдържанието и всички вградени скриптове, както преди. По същество избирането на Да означава, че поемате риска и позволявате на командата да се изпълнява както преди, докато избирате Не (по подразбиране) спира действието, за да ви защити.

    • Интерактивна спрямо скриптирана употреба: Въвеждането на тази подкана засяга предимно интерактивното използване. В интерактивните сесии ще видите предупреждението и ще трябва да отговорите. За автоматизирани скриптове (не-интерактивни сценарии, като например планирани задачи или CI канали), тази подкана може да доведе до увисване на скрипта, докато чака въвеждане на данни. За да избегнете това, препоръчваме да актуализирате тези скриптове, за да използвате изрично безопасните параметри (вж. по-долу), като се уверим, че те не изискват ръчно потвърждение.

Предприемане на действие

Повечето скриптове и команди на PowerShell, които използват командата Invoke-WebRequest, ще продължат да работят с малки или никакви промени. Например скриптове, които изтеглят съдържание или работят само с основния текст на отговора, тъй като текстът или данните не са засегнати и не изискват промени. 

Ако имате скриптове, които са засегнати от тази промяна, използвайте един от следните подходи.

За извличане на съдържание не се изисква действие, ако типичното използване на командата Invoke-WebRequest е за извличане на съдържание (като изтегляне на файлове или четене на статичен текст) и не разчитате на разширено взаимодействие със сайта или анализ на HTML DOM. Новото поведение по подразбиране е по-защитено – скриптовете, вградени в уеб съдържание, няма да се изпълняват без ваше разрешение – и това е препоръчителната конфигурация за повечето сценарии. 

За интерактивно използване просто отговорете с "Не" на новата подкана за защита (или натиснете Enter , за да приемете настройката по подразбиране), и изпълнете отново командата с параметъра -UseBasicParsing, за да извлечете безопасно съдържанието. Това ще избегне изпълнението на код на скрипт в извлечената страница. Ако често извличате уеб съдържание интерактивно, помислете дали да не използвате параметъра -UseBasicParsing по подразбиране във вашите команди, за да пропуснете подканата изцяло и да осигурите максимална безопасност. 

За автоматизирани скриптове или планирани задачи ги актуализирайте, за да включите параметъра -UseBasicParsing в извикванията invoke-WebRequest. Това предварително избира безопасното поведение, така че подканата да не се показва и скриптът ви да продължи да се изпълнява без прекъсване. По този начин гарантирате, че автоматизацията ви работи безпроблемно след актуализацията, като същевременно се възползвате от подобрената защита.

  • За скриптове, които се изпълняват с опцията -NoProfile: Ако скриптът има много повторения на извикванията invoke-WebRequest, декларирайте $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true в горната част на скрипта.

  • Когато Invoke-WebRequest се използва с параметъра -UseBasicParsing , анализирането на обектен модел на пълен документ (DOM) с помощта на компоненти на Internet Explorer (HTMLDocument интерфейс (mshtml)) не е възможно.

За скриптове или автоматизация, които се занимават с ненадеждно или публично уеб съдържание и изискват обработка на HTML структури или формуляри, помислете за реоргистриране или актуализиране с цел дългосрочна безопасност. Вместо да разчитате на PowerShell за анализиране и изпълнение на потенциално опасни скриптове за уеб страници, можете да: 

  • Използвайте методи или библиотеки за алтернативно анализиране (например третирайте съдържанието на уеб страницата като обикновен текст или XML, като използвате библиотеки за анализ на regex или XML/HTML, които не изпълняват скриптове).

  • Модернизирайте подхода си към взаимодействията в интернет, например с помощта на по-нова версия на PowerShell Core (версия 7.x или по-нова), която не зависи от системата на Internet Explorer и избягва изпълнението на скриптове или чрез използване на специализирани инструменти за изрязване в уеб, които обработват съдържание по-сигурно. Ограничете разчитането на функции на Internet Explorer, тъй като Internet Explorer е отхвърлен. Планирайте да пренаписвате части от вашите скриптове, които зависят от тези функции, така че да могат да работят в среда, където уеб съдържанието се обработва безопасно.

    • Invoke-WebRequest в PowerShell Core (версия 7.x или по-нова) не поддържа анализиране на DOM с помощта на компоненти на Internet Explorer. Неговото анализиране по подразбиране безопасно ще извлече съдържанието без изпълнение на скрипта.

  • Целта на реораторирането е да постигнете необходимата функционалност, без да излагате себе си на рискове за защитата, като по този начин се възприемат по-безопасните стойности по подразбиране, въведени с тази промяна.

Ако имате конкретна нужда да използвате пълните възможности за анализ на HTML на командата Invoke-WebRequest (като например взаимодействие с полета на формуляр или извличане на структурирани данни) и се доверявате на източника на уеб съдържанието, все още можете да продължите със старото поведение на анализ според отделните случаи. В интерактивните сесии това просто означава да изберете Да в подканата за потвърждение, за да позволите на операцията да продължи. Всеки път ще получавате напомняне за риска за защитата. Продължаването без параметъра -UseBasicParsing трябва да бъде ограничено до сценарии, при които напълно се доверявате на уеб съдържанието (например вътрешни уеб приложения, които са под ваш контрол или известни безопасни уеб сайтове). 

Важно: Този подход не се препоръчва за скриптове, които се изпълняват срещу ненадеждно или публично уеб съдържание, тъй като той повторно въвежда риска от негласно изпълнение на скрипта, който тази актуализация има за цел да смекчи. Освен това, за не-интерактивната автоматизация няма вграден механизъм за автоматично съгласие за подканата, така че не е препоръчително да разчитате на пълно анализиране на скриптове (в допълнение към това, че е рисковано). Използвайте тази опция пестеливо и само като временна мярка.

Често задавани въпроси​​​​​​​

В повечето случаи скриптовете, които изтеглят файлове или извличат уеб съдържание като текст, ще продължат да работят. За да избегнете подканата, добавете параметъра -UseBasicParsing.

 Скриптовете, използващи разширено HTML анализиране (например формуляри или DOM), може да увиснат или да изходящи необработени данни вместо структурирани обекти; ще трябва да превключите към основно анализиране или да модифицирате скрипта си, за да обработвате съдържанието по различен начин. 

Винаги използвайте параметъра -UseBasicParsing с командата Invoke-WebRequest в скриптове на PowerShell, за да осигурите безопасно, не-интерактивно изпълнение.  

Да. Скриптове в зависимост от наследения анализ трябва да се актуализират, за да се включат или да се реоргатора.

Промяната в PowerShell е приложима както за стандартни актуализации, така и за актуализации на hotpatch, което води до същата промяна в поведението.

Да. PowerShell 7 вече използва защитен анализ по подразбиране.

Свържете се със собствениците на модула за планове за поддръжка. Използвайте временно записване за надеждно съдържание по време на мигрирането.

За да се подготвите и да потвърдите тази промяна, ви препоръчваме: 

  • Идентифицирайте скриптове с помощта на функциите на DOM.

  • Тествайте автоматизацията с новата стойност по подразбиране.

  • Ограничете наследената опция за записване до надеждни източници.

  • Планиране на реоректориране за ненадеждно съдържание.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.