Ursprüngliches Veröffentlichungsdatum: Montag, 9. Dezember 2025
KB-ID: 5074596
Zusammenfassung
Windows PowerShell 5.1 zeigt jetzt eine Sicherheitsbestätigungsaufforderung an, wenn Sie den Befehl Invoke-WebRequest verwenden, um Webseiten ohne spezielle Parameter abzurufen. Diese Eingabeaufforderung warnt, dass Skripts auf der Seite während der Analyse ausgeführt werden könnten, und rät, den sichereren Parameter -UseBasicParsing zu verwenden, um eine Skriptausführung zu vermeiden. Benutzer müssen den Vorgang fortsetzen oder abbrechen. Diese Änderung trägt zum Schutz vor schädlichen Webinhalten bei, da die Zustimmung des Benutzers vor potenziell riskanten Aktionen erforderlich ist.
Diese Änderung wirkt sich in erster Linie auf Unternehmens- oder IT-verwaltete Umgebungen aus, in denen PowerShell-Skripts für die Automatisierung und das Abrufen von Webinhalten verwendet werden. Personen, die Geräte in persönlichen oder privaten Einstellungen verwenden, müssen in der Regel keine Maßnahmen ergriffen werden, da diese Szenarien außerhalb von von DER IT verwalteten Bereitstellungen ungewöhnlich sind.
Was hat sich geändert?
-
Vorheriges Verhalten
-
Vollständige DOM-Analyse (Document Object Model) mit Internet Explorer-Komponenten (HTMLDocument-Schnittstelle (mshtml)), die Skripts aus heruntergeladenen Inhalten ausführen können.
-
-
Neues Verhalten
-
Sicherheitsbestätigungsaufforderung: Nach der Installation der windows-Updates, die am oder nach dem 9. Dezember 2025 veröffentlicht wurden, löst das Ausführen des Invoke-WebRequest-Befehls (auch als curl bezeichnet) in PowerShell 5.1 eine Sicherheitseingabeaufforderung aus (wenn kein spezieller Parameter verwendet wird). Die Eingabeaufforderung wird in der PowerShell-Konsole mit einer Warnung zum Skriptausführungsrisiko angezeigt. Dies bedeutet, dass PowerShell angehalten wird, um Sie zu warnen, dass der Webseitenskriptinhalt ohne Vorsichtsmaßnahmen auf Ihrem System ausgeführt werden kann, wenn er verarbeitet wird. Wenn Sie die EINGABETASTE drücken (oder Nein auswählen), wird der Vorgang aus Sicherheitsgründen standardmäßig abgebrochen. PowerShell zeigt eine Meldung an, dass es aufgrund von Sicherheitsbedenken abgebrochen wurde, und schlägt vor, den Befehl erneut auszuführen, indem der Parameter -UseBasicParsing zur sicheren Verarbeitung verwendet wird. Wenn Sie Ja auswählen, analysiert PowerShell die Seite mit der älteren Methode (vollständige HTML-Analyse), was bedeutet, dass der Inhalt und alle eingebetteten Skripts wie bisher geladen werden. Im Wesentlichen bedeutet die Auswahl von Ja, dass Sie das Risiko akzeptieren und zulassen, dass der Befehl wie zuvor ausgeführt wird, während Die Auswahl von Nein (Standard) die Aktion zum Schutz beendet.
-
Interaktive und skriptbasierte Verwendung: Die Einführung dieser Aufforderung wirkt sich in erster Linie auf die interaktive Nutzung aus. In interaktiven Sitzungen wird die Warnung angezeigt, und Sie müssen reagieren. Bei automatisierten Skripts (nicht interaktive Szenarien wie geplante Aufgaben oder CI-Pipelines) kann diese Aufforderung dazu führen, dass das Skript hängen bleibt und auf Eingaben wartet. Um dies zu vermeiden, empfehlen wir, solche Skripts so zu aktualisieren, dass sie explizit sichere Parameter verwenden (siehe unten), um sicherzustellen, dass sie keine manuelle Bestätigung erfordern.
-
Handeln Sie
Die meisten PowerShell-Skripts und -Befehle, die den Befehl Invoke-WebRequest verwenden, funktionieren weiterhin mit wenig oder ohne Änderungen. Beispielsweise sind Skripts, die nur Inhalte herunterladen oder mit dem Antworttext als Text oder Daten arbeiten, nicht betroffen und erfordern keine Änderungen.
Wenn Sie über Skripts verfügen, die von dieser Änderung betroffen sind, verwenden Sie einen der folgenden Ansätze.
Keine Aktion erforderlich, wenn Sie den Invoke-WebRequest-Befehl typischerweise zum Abrufen von Inhalten (z. B. Herunterladen von Dateien oder Lesen von statischem Text) verwenden und nicht auf erweiterte Websiteinteraktionen oder HTML-DOM-Analyse angewiesen sind. Das neue Standardverhalten ist sicherer– in Webinhalte eingebettete Skripts werden nicht ohne Ihre Berechtigung ausgeführt. Dies ist die empfohlene Konfiguration für die meisten Szenarien.
Zur interaktiven Verwendung antworten Sie einfach nein auf die neue Sicherheitseingabeaufforderung (oder drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen), und führen Sie den Befehl mit dem Parameter -UseBasicParsing erneut aus, um den Inhalt sicher abzurufen. Dadurch wird das Ausführen von Skriptcode auf der abgerufenen Seite vermieden. Wenn Sie häufig interaktiv Webinhalte abrufen, sollten Sie den Parameter -UseBasicParsing standardmäßig in Ihren Befehlen verwenden, um die Eingabeaufforderung vollständig zu überspringen und maximale Sicherheit zu gewährleisten.
Aktualisieren Sie für automatisierte Skripts oder geplante Aufgaben diese, um den Parameter -UseBasicParsing in Invoke-WebRequest-Aufrufe einzuschließen. Dadurch wird das sichere Verhalten vorab ausgewählt, sodass die Eingabeaufforderung nicht angezeigt wird und Ihr Skript weiterhin ohne Unterbrechung ausgeführt wird. Auf diese Weise stellen Sie sicher, dass Ihre Automatisierung nach dem Update nahtlos ausgeführt wird und gleichzeitig die verbesserte Sicherheit nutzt.
Für Skripts oder Automatisierungen, die sich mit nicht vertrauenswürdigen oder öffentlichen Webinhalten befassen und die Verarbeitung von HTML-Strukturen oder -Formularen erfordern, sollten Sie aus Gründen der langfristigen Sicherheit ein Umgestalten oder Aktualisieren dieser Inhalte in Betracht ziehen. Anstatt sich auf PowerShell zu verlassen, um potenziell gefährliche Webseitenskripts zu analysieren und auszuführen, haben Sie folgende Möglichkeiten:
-
Verwenden Sie alternative Analysemethoden oder Bibliotheken (z. B. behandeln Sie den Inhalt der Webseite als Nur-Text oder XML, indem Sie regex- oder XML/HTML-Analysebibliotheken verwenden, die keine Skripts ausführen).
-
Modernisieren Sie Ihren Ansatz für Webinteraktionen, z. B. mithilfe von neuerem PowerShell Core (Version 7.x oder höher), das nicht von der Engine von Internet Explorer abhängig ist und die Ausführung von Skripts vermeidet, oder indem Sie spezielle Web scraping-Tools verwenden, die Inhalte sicherer verarbeiten.
-
Beschränken Sie die Abhängigkeit von internetspezifischen Explorer-features, da internet Explorer veraltet ist. Planen Sie, Teile Ihrer Skripts, die von diesen Features abhängig sind, neu zu schreiben, damit sie in einer Umgebung funktionieren können, in der Webinhalte sicher behandelt werden.
-
Das Ziel des Refactorings besteht darin, die benötigten Funktionen zu erreichen, ohne sich sicherheitsrelevanten Risiken auszusetzen, wodurch die durch diese Änderung eingeführten sichereren Standardwerte erfüllt werden.
Wenn Sie die Vollständigen HTML-Analysefunktionen von Invoke-WebRequest-Befehlen verwenden müssen (z. B. Interaktion mit Formularfeldern oder Auslesen strukturierter Daten), und Sie der Quelle des Webinhalts vertrauen, können Sie weiterhin mit dem Legacyanalyseverhalten von Fall zu Fall fortfahren. In interaktiven Sitzungen bedeutet dies einfach, dass Sie in der Bestätigungsaufforderung Ja auswählen, damit der Vorgang fortgesetzt werden kann. Sie erhalten jedes Mal eine Erinnerung an das Sicherheitsrisiko. Das Fortfahren ohne den Parameter -UseBasicParsing sollte auf Szenarien beschränkt sein, in denen Sie den Webinhalten vollständig vertrauen (z. B. interne Webanwendungen unter Ihrer Kontrolle oder bekannte sichere Websites).
Wichtig: Dieser Ansatz wird nicht für Skripts empfohlen, die für nicht vertrauenswürdige oder öffentliche Webinhalte ausgeführt werden, da er das Risiko einer automatischen Skriptausführung wieder einführt, das durch dieses Update verringert werden soll. Außerdem gibt es für die nicht interaktive Automatisierung keinen integrierten Mechanismus, um der Eingabeaufforderung automatisch zuzustimmen. Daher ist es nicht ratsam, sich auf eine vollständige Analyse in Skripts zu verlassen (und auch riskant zu sein). Verwenden Sie diese Option sparsam und nur als temporäre Maßnahme.
Häufig gestellte Fragen
In den meisten Fällen funktionieren Skripts, die Dateien herunterladen oder Webinhalte als Text abrufen, weiterhin. Fügen Sie den Parameter -UseBasicParsing hinzu, um Eingabeaufforderungen zu vermeiden. Skripts, die erweiterte HTML-Analyse (z. B. Formulare oder DOM) verwenden, können hängen bleiben oder geben rohe Daten anstelle von strukturierten Objekten aus. Sie müssen zur grundlegenden Analyse wechseln oder Ihr Skript ändern, um Inhalte anders zu behandeln.
Verwenden Sie immer den Parameter -UseBasicParsing mit dem Befehl Invoke-WebRequest in PowerShell-Skripts, um eine sichere, nicht interaktive Ausführung sicherzustellen.
Ja. Skripts, die von der Legacyanalyse abhängig sind, müssen aktualisiert werden, um sie zu aktivieren oder umzugestalten.
Die Änderung in PowerShell gilt sowohl für Standardupdates als auch hotpatch-Updates, was zu derselben Verhaltensänderung führt.
Ja. PowerShell 7 verwendet bereits standardmäßig sichere Analyse.
Wenden Sie sich an Modulbesitzer, um Supportpläne zu erstellen. Verwenden Sie die Anmeldung während der Migration vorübergehend für vertrauenswürdige Inhalte.
Um diese Änderung vorzubereiten und zu überprüfen, empfehlen wir Folgendes:
-
Identifizieren sie Skripts mithilfe von DOM-Features.
-
Testen Sie die Automatisierung mit der neuen Standardeinstellung.
-
Beschränken Sie die Legacy-Anmeldung auf vertrauenswürdige Quellen.
-
Planen Sie das Refactoring für nicht vertrauenswürdige Inhalte.