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

In dit artikel wordt een wijziging beschreven die voornamelijk van invloed is op bedrijfs- of IT-omgevingen waarin PowerShell-scripts worden gebruikt voor automatisering en het ophalen van webinhoud. Mensen het gebruik van apparaten in persoonlijke of thuisinstellingen hoeft over het algemeen geen actie te ondernemen, omdat deze scenario's ongebruikelijk zijn buiten door IT beheerde omgevingen.

Datum wijzigen

Beschrijving wijzigen

dinsdag 20 december 2025

  • De 'Beveiligingswaarschuwing' toegevoegd aan de sectie 'Samenvatting'.

  • Voor de duidelijkheid is de volgende alinea toegevoegd aan de sectie 'Samenvatting': De opdracht Invoke-WebRequest van PowerShell maakt een HTTP- of HTTPS-aanvraag naar een webserver en retourneert de resultaten. In dit artikel wordt een wijziging in beveiliging beschreven waarbij Windows PowerShell 5.1 opzettelijk een beveiligingsbevestigingsprompt weergeeft wanneer u de opdracht Invoke-WebRequest gebruikt om webpagina's op te halen zonder speciale parameters. Dit gedrag treedt op nadat ondersteunde Windows-clients en -servers windows hebben geïnstalleerd Updates uitgebracht op en na 9 december 2025. Zie CVE-2025-54100 voor meer informatie.

  • De volgende opsommingstekens zijn toegevoegd aan 'Voor geautomatiseerde scripts of geplande taken' in optie 1 van de sectie Actie ondernemen.

    • Voor scripts die worden uitgevoerd met de optie zonder profiel: als het script veel exemplaren van de Invoke-WebRequest aanroepen heeft, declareert u $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true boven aan het script.

    • Wanneer Invoke-WebRequest wordt gebruikt met de parameter -UseBasicParsing, is het parseren van volledig documentobjectmodel (DOM) met behulp van Internet Explorer-onderdelen (HTMLDocument Interface (mshtml)) niet mogelijk.

  • Het volgende opsommingsteken is toegevoegd aan het opsommingsteken 'Uw benadering van webinteracties moderniseren' van optie 2 in de sectie Actie ondernemen.

    • Invoke-Webrequest in Powershell Core (versie 7.x of hoger) biedt geen ondersteuning voor DOM-parsering met behulp van Internet Explorer-onderdelen. De standaardparsering haalt de inhoud veilig op zonder scriptuitvoering.

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.

Beveiligingswaarschuwing: Risico voor scriptuitvoering Invoke-WebRequest de inhoud van de webpagina parseert. Scriptcode op de webpagina kan worden uitgevoerd wanneer de pagina wordt geparseerd.

AANBEVOLEN ACTIE: Gebruik de schakeloptie -UseBasicParsing om uitvoering van scriptcode te voorkomen.

Wilt u doorgaan?

Deze prompt waarschuwt dat scripts op de pagina kunnen worden uitgevoerd tijdens het parseren en adviseert het gebruik van de parameter -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.

De opdracht Invoke-WebRequest van PowerShell maakt een HTTP- of HTTPS-aanvraag naar een webserver en retourneert de resultaten. In dit artikel wordt een wijziging in de beveiliging beschreven waarbij Windows PowerShell 5.1 opzettelijk een beveiligingsbevestigingsprompt weergeeft wanneer u de opdracht Invoke-WebRequest gebruikt om webpagina's op te halen zonder speciale parameters. Dit gedrag treedt op nadat ondersteunde Windows-clients en -servers Windows hebben geïnstalleerd Updates uitgebracht op en na 9 december 2025. Zie CVE-2025-54100 voor meer informatie.

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 tijdens 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.

Voor het ophalen van inhoud is geen actie vereist als de opdracht Invoke-WebRequest doorgaans wordt 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 die worden uitgevoerd met de optie -NoProfile: Als het script veel exemplaren van de Invoke-WebRequest-aanroepen heeft, declareert u $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true boven aan het script.

  • Wanneer Invoke-WebRequest wordt gebruikt met de parameter -UseBasicParsing, is het parseren van volledig documentobjectmodel (DOM) met behulp van Internet Explorer-onderdelen (HTMLDocument Interface (mshtml)) niet mogelijk.

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 delen van uw scripts die afhankelijk zijn van deze functies te herschrijven, zodat ze kunnen werken in een omgeving waarin webinhoud veilig wordt verwerkt.

    • Invoke-WebRequest in PowerShell Core (versie 7.x of hoger) biedt geen ondersteuning voor DOM-parsering met behulp van Internet Explorer-onderdelen. De standaardparsering haalt de inhoud veilig op zonder scriptuitvoering.

  • 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 volledige HTML-parseermogelijkheden van de opdracht Invoke-WebRequest moet 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. Als u de prompt wilt voorkomen, voegt u de parameter -UseBasicParsing toe.

 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 is van toepassing 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.