Van toepassing op
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

Oorspronkelijke publicatiedatum: dinsdag 9 december 2025

KB-id: 5074596

Samenvatting

Windows PowerShell 5.1 geeft nu een beveiligingsbevestigingsprompt weer wanneer u de opdracht Invoke-WebRequest gebruikt om webpagina's op te halen zonder speciale parameters. Deze prompt waarschuwt dat scripts op de pagina kunnen worden uitgevoerd tijdens het parseren en adviseert het gebruik van de parameter veiliger -UseBasicParsing om uitvoering van scripts te voorkomen. Gebruikers moeten ervoor kiezen om de bewerking voort te zetten of te annuleren. Deze wijziging beschermt tegen schadelijke webinhoud door gebruikerstoestemming te vereisen voordat mogelijk riskante acties worden uitgevoerd.

Deze wijziging is voornamelijk van invloed op bedrijfs- of IT-beheerde omgevingen waar PowerShell-scripts worden gebruikt voor automatisering en het ophalen van webinhoud. Mensen apparaten in persoonlijke of thuisinstellingen gebruikt, hoeft over het algemeen geen actie te ondernemen, omdat deze scenario's ongebruikelijk zijn buiten door IT beheerde implementaties.

Wat is er veranderd?

  • Vorig gedrag

    • Volledige DOM-parsering (Document Object Model) met behulp van Internet Explorer-onderdelen (HTMLDocument Interface (mshtml)), waarmee scripts kunnen worden uitgevoerd vanuit gedownloade inhoud.

  • Nieuw gedrag

    • Bevestigingsprompt voor beveiliging: Nadat u de Windows-updates hebt geïnstalleerd die zijn uitgebracht op of na 9 december 2025, wordt door het uitvoeren van de opdracht Invoke-WebRequest (ook wel curl genoemd) in PowerShell 5.1 een beveiligingsprompt geactiveerd (wanneer er geen speciale parameter wordt gebruikt). De prompt wordt weergegeven in de PowerShell-console met een waarschuwing over het risico van scriptuitvoeringDit betekent dat PowerShell wordt onderbroken om u te waarschuwen dat de inhoud van het webpaginascript zonder voorzorgsmaatregelen kan worden uitgevoerd op uw systeem wanneer deze wordt verwerkt. Als u op Enter drukt (of Nee kiest), wordt de bewerking voor de veiligheid standaard geannuleerd. PowerShell geeft een bericht weer dat het is geannuleerd vanwege beveiligingsproblemen en stelt voor om de opdracht opnieuw uit te voeren met behulp van de parameter -UseBasicParsing voor veilige verwerking. Als u Ja kiest, gaat PowerShell verder met het parseren van de pagina met behulp van de oudere methode (volledige HTML-parsering), wat betekent dat de inhoud en eventuele ingesloten scripts worden geladen zoals voorheen. Als u Ja kiest, betekent dit dat u het risico accepteert en de opdracht laat uitvoeren zoals voorheen, terwijl u Nee (de standaardinstelling) kiest, de actie stopt om u te beschermen.

    • Interactief versus scriptgebruik: De introductie van deze prompt is voornamelijk van invloed op interactief gebruik. In interactieve sessies ziet u de waarschuwing en moet u reageren. Voor geautomatiseerde scripts (niet-interactieve scenario's zoals geplande taken of CI-pijplijnen) kan deze prompt ertoe leiden dat het script vastloopt op het wachten op invoer. Om dit te voorkomen, raden we u aan dergelijke scripts bij te werken om expliciet veilige parameters te gebruiken (zie hieronder), zodat ze niet handmatig hoeven te worden bevestigd.

Actie ondernemen

De meeste PowerShell-scripts en -opdrachten die gebruikmaken van de opdracht Invoke-WebRequest blijven werken met weinig of geen wijzigingen. Scripts die bijvoorbeeld alleen inhoud downloaden of met de antwoordtekst werken als tekst of gegevens, worden niet beïnvloed en vereisen geen wijzigingen. 

Als u scripts hebt die worden beïnvloed door deze wijziging, gebruikt u een van de volgende methoden.

Er is geen actie vereist als u de opdracht Invoke-WebRequest doorgaans gebruikt om inhoud op te halen (zoals het downloaden van bestanden of het lezen van statische tekst) en u niet afhankelijk bent van geavanceerde site-interactie of HTML DOM-parsering. Het nieuwe standaardgedrag is veiliger: scripts die zijn ingesloten in webinhoud worden niet uitgevoerd zonder uw toestemming. Dit is de aanbevolen configuratie voor de meeste scenario's. 

Voor interactief gebruik reageert u gewoon nee op de nieuwe beveiligingsprompt (of drukt u op Enter om de standaardinstelling te accepteren) en voert u de opdracht opnieuw uit met de parameter -UseBasicParsing om de inhoud veilig op te halen. Hierdoor wordt voorkomen dat er scriptcode wordt uitgevoerd op de opgehaalde pagina. Als u webinhoud vaak interactief ophaalt, kunt u overwegen de parameter -UseBasicParsing standaard te gebruiken in uw opdrachten om de prompt helemaal over te slaan en maximale veiligheid te garanderen. 

Voor geautomatiseerde scripts of geplande taken moet u deze bijwerken met de parameter -UseBasicParsing in Invoke-WebRequest-aanroepen. Hiermee wordt het veilige gedrag vooraf geselecteerd, zodat de prompt niet wordt weergegeven en uw script zonder onderbreking wordt uitgevoerd. Door dit te doen, zorgt u ervoor dat uw automatisering naadloos wordt uitgevoerd na de update, terwijl u nog steeds profiteert van de verbeterde beveiliging. 

Voor scripts of automatisering die betrekking hebben op niet-vertrouwde of openbare webinhoud en de verwerking van HTML-structuren of formulieren vereisen, kunt u overwegen deze te herstructureren of bij te werken voor veiligheid op lange termijn. In plaats van te vertrouwen op PowerShell om mogelijk gevaarlijke webpaginascripts te parseren en uit te voeren, kunt u het volgende doen: 

  • Gebruik alternatieve parseringsmethoden of bibliotheken (behandel de inhoud van de webpagina bijvoorbeeld als tekst zonder opmaak of XML, met behulp van regex- of XML-/HTML-parseringsbibliotheken die geen scripts uitvoeren).

  • Moderniseer uw benadering van webinteracties, bijvoorbeeld met behulp van nieuwere PowerShell Core (versie 7.x of hoger), die niet afhankelijk is van de engine van Internet Explorer en het uitvoeren van scripts vermijdt, of door speciale webs scraping-hulpprogramma's te gebruiken die inhoud veiliger verwerken.

  • Beperk de afhankelijkheid van specifieke functies van Internet Explorer, omdat Internet Explorer is afgeschaft. Plan om onderdelen van uw scripts die afhankelijk zijn van deze functies opnieuw te schrijven, zodat ze kunnen werken in een omgeving waarin webinhoud veilig wordt verwerkt.

  • Het doel van herstructurering is om de benodigde functionaliteit te bereiken zonder uzelf bloot te stellen aan beveiligingsrisico's, waardoor de veiligere standaardinstellingen die door deze wijziging zijn geïntroduceerd, worden omarmd.

Als u de opdrachten Invoke-WebRequest volledige HTML-parsering wilt gebruiken (zoals interactie met formuliervelden of het scrapen van gestructureerde gegevens) en u de bron van de webinhoud vertrouwt, kunt u nog steeds per geval doorgaan met het verouderde parseringsgedrag. In interactieve sessies betekent dit gewoon ja kiezen bij de bevestigingsprompt, zodat de bewerking kan worden voortgezet. Telkens wanneer u dit doet, ontvangt u een herinnering over het beveiligingsrisico. Doorgaan zonder de parameter -UseBasicParsing moet worden beperkt tot scenario's waarin u de webinhoud volledig vertrouwt (bijvoorbeeld interne webtoepassingen onder uw controle of bekende veilige websites). 

Belangrijk: Deze benadering wordt niet aanbevolen voor scripts die worden uitgevoerd op niet-vertrouwde of openbare webinhoud, omdat hiermee opnieuw het risico wordt geïntroduceerd van het uitvoeren van scripts op de achtergrond dat deze update is bedoeld om te beperken. Voor niet-interactieve automatisering is er ook geen ingebouwd mechanisme om automatisch toestemming te geven voor de prompt, dus het is niet raadzaam om te vertrouwen op volledige parsering in scripts (naast riskant). Gebruik deze optie spaarzaam en alleen als tijdelijke maatregel.

Veelgestelde vragen​​​​​​​

In de meeste gevallen werken scripts die bestanden downloaden of webinhoud als tekst ophalen nog steeds; voeg de parameter -UseBasicParsing toe om prompts te voorkomen. Scripts die gebruikmaken van geavanceerde HTML-parsering (zoals formulieren of DOM) kunnen onbewerkte gegevens vastlopen of uitvoeren in plaats van gestructureerde objecten; u moet overschakelen naar eenvoudige parsering of uw script wijzigen om inhoud anders te verwerken.

Gebruik altijd de parameter -UseBasicParsing met de opdracht Invoke-WebRequest in PowerShell-scripts om een veilige, niet-interactieve uitvoering te garanderen.  

Jawel. Scripts die afhankelijk zijn van verouderde parsering, moeten worden bijgewerkt om u aan te geven of te herstructureren.

De wijziging in PowerShell die van toepassing is op zowel standaardupdates als hotpatch-updates, wat resulteert in dezelfde gedragswijziging.

Jawel. PowerShell 7 maakt al standaard gebruik van beveiligde parsering.

Neem contact op met module-eigenaren voor ondersteuningsplannen. Gebruik opt-in tijdelijk voor vertrouwde inhoud tijdens de migratie.

Als u deze wijziging wilt voorbereiden en valideren, raden we u aan het volgende te doen: 

  • Scripts identificeren met behulp van DOM-functies.

  • Automatisering testen met de nieuwe standaardwaarde.

  • Verouderde aanmelding beperken tot vertrouwde bronnen.

  • Plan herstructurering voor niet-vertrouwde inhoud.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.