IE11 Ende
Vielleicht sind die auf diese Seite gestoßen, weil sie folgende Aussage so oder so ähnlich gelesen haben:
Support for Internet Explorer 11 ended on June 15, 2022 and IE 11 will no longer be accessible after February 14, 2023.
Da ist was dran, aber es ist nicht komplette Information. Natürlich endete am 15. Juni 2022 der Support für den IE11, der immer noch auf vielen Servern und Clients installiert aber schon lange nicht mehr erste Wahl ist. Die meisten Firmen oder Anwender haben schon entweder Microsoft Edge oder einen anderen Browser wie Google Chrome, Firefox, Opera, Brave o.a. Aber wie gehen Sie als Admin nun mit dem immer noch installierten IE11 auf Desktops und vor allem Server um?
Übrigens: Der Support mit Sicherheitsupdates für "Edge Legacy" ist schon am 9 März 2021 ausgelaufen. Aber das sollte kein Thema mehr sein.
IE Support Statement
Wie immer nutzen Computerzeitschriften und Webportal solche "End of Life"-Meldungen um Aufmerksamkeit, Links und Besucher zu generieren. Wenn Sie aber die offizielle Microsoft Dokumentation lesen, dann relativiert sich die Aussage schon wieder:
Internet Explorer is a component of the
Windows operating system (OS) and follows the Lifecycle
Policy for the product on which it is installed and
supported. Please note that the Internet Explorer (IE) 11
desktop application ended support for certain operating
systems on June 15, 2022. Customers are encouraged to move
to Microsoft Edge with IE mode. IE mode enables backward
compatibility and will be supported through at least 2029
Quelle:
https://learn.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge
Es ist also mitnichten so, dass zu einem Stichtag der IE11 gar nicht mehr funktioniert. Er ist ja Teil der verschiedenen Betriebssysteme und damit auch an den Support gebunden. Im Jan 2023 sind bis auf wenige Embedded-Versionen alle noch aktiv unterstützten Betriebssysteme mit dem IE11 ausgestattet.
Und selbst ein "unsupportet" bedeutet nicht, dass 3rd Programme nicht weiter die Komponenten des IE11 nutzen können. Die FAQ schreibt dazu:
Q: If a customer has turned off the
Internet Explorer feature but has third-party software that
uses Internet Explorer runtime DLLs, how can the Internet
Explorer runtime DLLs be updated?
A: If customers need an update to the Internet Explorer
runtime DLLs, they must install the latest version of
Internet Explorer (IE11) to update the runtime DLLs. After
doing so they will continue to receive security updates.
Quelle:
https://learn.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge
Es wird also nicht die IE11-Engine entfernt, deaktiviert oder ersetzt, sondern das für den Anwender sichtbaren Teil:
*The retired, out-of-support Internet
Explorer 11 (IE11) desktop application will be permanently
disabled on certain versions of Windows 10 as part of the
February 2023 Windows security update ("B") release
scheduled for February 14, 2023. We highly recommend setting
up IE mode in Microsoft Edge and disabling IE11 prior to
this date to ensure your organization does not experience
business disruption.
Quelle:
https://learn.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge#is-internet-explorer-11-the-last-version-of-internet-explorer-
Das Icon dürft dann aber nicht mehr funktionieren.
- Internet Explorer 11 desktop app
retirement FAQ
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/internet-explorer-11-desktop-app-retirement-faq/ba-p/2366549
IE Komponenten deinstallieren
Ein Baustein einer Sicherheitsstrategie ist natürlich nur notwendige Komponenten zu installieren. Wenn Sie auf einem Server oder Client die IE-Komponenten nicht benötigen, dann können Sie diese auch komplett entfernen. Damit entfallen auch die weiterhin gelieferten Updates. Bei Windows Server gib es mit der "Server Core" eine Version mit minimalem Desktop, weil viele Angriffsvektoren auch im "Explorer" und nicht nur im "InternetExplorer" ist.
Allerdings ist es schon ein Unterschied, ob Windows nur den IE deaktiviert oder Sie die Komponente komplett entfernen. Sie sollten also genau prüfen, welche Effekte die folgende Konfigurationsänderung bedeutet:
REM IE entfernen. Aufruf aus einer AdminShell C:\Windows\System32\dism.exe /online /Disable-Feature /FeatureName:Internet-Explorer-Optional-amd64
Die Deaktivierung geht eigentlich ganz schnell und dauert nur wenige Sekunden. Allerdings ist danach ein Neustart erforderlich:
Das ist natürlich auch über die PowerShell möglich. Allerdings nicht mit DisableWindowsFeature sondern mit DisableWindowsOptionalFeature
Disable-WindowsOptionalFeature -FeatureName Internet-Explorer-Optional-amd64 -Online
Die Deinstallation können Sie auch wieder rückgängig machen.
REM IE reaktivieren. Aufruf aus einer AdminShell C:\Windows\System32\dism.exe /online /Enable-Feature /FeatureName:Internet-Explorer-Optional-amd64
Auch per Powershell ist es möglich.
Enable-WindowsOptionalFeature -FeatureName Internet-Explorer-Optional-amd64 –Online
Auch hier ist wieder ein Neustart erforderlich.
Den aktuellen Status können Sie natürlich auch abfragen, z.B. im Rahmen eines Inventory aller Server o.ä.
PS C:\> Get-WindowsOptionalFeature -FeatureName Internet-Explorer-Optional-amd64 -Online FeatureName : Internet-Explorer-Optional-amd64 DisplayName : Internet Explorer 11 Description : Finds and displays information and Web sites on the Internet. RestartRequired : Required State : Enabled CustomProperties : \SoftBlockLink : http://go.microsoft.com/fwlink/?LinkID=142507
Der "State" ist auf "Enabled" oder "Disabled".
- Disable-WindowsOptionalFeature
https://learn.microsoft.com/en-us/powershell/module/dism/disable-windowsoptionalfeature - Enable-WindowsOptionalFeature
https://learn.microsoft.com/en-us/powershell/module/dism/enable-windowsoptionalfeature - IE11 per PowerShell deinstallieren
https://www.windows-faq.de/2021/01/24/ie11-per-powershell-deinstallieren/
IE als COM-Objekt
Schon immer konnten wir aus VBScript, PowerShell und anderen Programmiersprachen den Internet Explorer als COM-Objekt starten und fernsteuern. Hier ein einfaches Codebeispiel.
$ie = New-Object -com internetexplorer.application $ie.Visible =$true $ie.Navigate("https://www.msxfaq.de")
Sobald Sie aber die Internet Explorer Komponente deinstallieren, scheitert schon das Instanzieren.
PS C:\> $ie = New-Object -com internetexplorer.application New-Object : Retrieving the COM class factory for component with CLSID {00000000-0000-0000-0000-000000000000} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). At line:1 char:7
Hier sollten Sie also frühzeitig prüfen, ob die Anschaltung oder die Deinstallation wichtige Funktionen behindert.
- Controlling Internet Explorer object
from PowerShell
https://devblogs.microsoft.com/powershell/controlling-internet-explorer-object-from-powershell/
Automating Internet Explorer with
PowerShell
https://www.youtube.com/watch?v=6KkK8kEghm4
- PowerShell: Getting Started - Utilizing
the Web: Part 4 (Controlling Internet
Explorer via IE COM Object)
https://www.gngrninja.com/script-ninja/2016/9/25/powershell-getting-started-controlling-internet-explorer - PowerShell // Internet Explorer
Automation – Part 1 : The Basics
https://www.fl0re.com/2019/10/23/powershell-internet-explorer-automation-part-1/ - Powershell Internetexplorer steuern
https://administrator.de/forum/powershell-internetexplorer-steuern-226730.html
PowerShell Invoke-Webrequest und IE
Interessant war hier die Nutzung aus der PowerShell. Trotz deinstallierter GUI kommt hier ggfls. die Warnung zur "Enhanced Security Configuration".
Nach der Bestätigung konnte ich dann auf den Inhalt der Variable "$a" auch wiederholt zugreifen. Der Abruf selbst war problemlos. Wenn ich mit "-UseBasicParsing" bei Invoke-WebRequest auf den IE verzichte, kommt hingegen keine Warnung. Dennoch kann das natürlich Skripte stören.
Allerdings kommt die Meldung natürlich auch, wenn der IE nicht deinstalliert wurde und hat nur was mit der verstärkten Sicherheit zu tun. Da Skripte allerdings oft unüberwacht laufen, stört dies natürlich den Ablauf:
- FAQ about Internet Explorer Enhanced
Security Configuration (ESC)
https://learn.microsoft.com/en-US/troubleshoot/developer/browsers/security-privacy/enhanced-security-configuration-faq - How to disable Internet Explorer ESC by
using a script
https://learn.microsoft.com/en-US/troubleshoot/developer/browsers/security-privacy/enhanced-security-configuration-faq#how-to-disable-internet-explorer-esc-by-using-a-script - Invoke-WebRequest
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest - Invoke-Webrequest triggers IE ESC
Warnings #2048
https://github.com/PowerShell/PowerShell/issues/2048 - Invoke-WebRequest causes IE content
blocked dialog
https://stackoverflow.com/questions/25862955/invoke-webrequest-causes-ie-content-blocked-dialog - How to use Invoke-WebRequest in
PowerShell without having to first open
Internet Explorer
https://blog.dhampir.no/content/how-to-use-invoke-webrequest-in-powershell-without-having-to-first-open-internet-explorer
Edge Automation
Leider können Sie den Edge Browser nicht einfach per COM-Objekt steuern und einfach den Aufruf anpassen und auch Microsoft hat dem Edge keine "Kompatibilitätsschicht" addiert. Natürlich kann ich über verschiedene Umwege den Edge-Browser starten und mir dann den Window-Handle besorgen und quasi mit "Sendkey" auch Steuersequenzen an das Fenster zur Fernsteuerung senden. Ich habe aber keinen Zugriff auf das HTML-Dokument selbst und auch kein Document Object Model (DOM) zur direkten Modifikation.
Aber es gibt einen "WebDriver" für Edge, mit der eine Automatisierung für Tests etc. möglich ist und die gleiche API funktioniert sogar für Firefox und andere Browser, das WebDriver nicht von Microsoft sondern vom W3C koordiniert wird und von Selenium inspiriert wird:
- W3C: WebDriver
https://w3c.github.io/webdriver/ - Selenium automates browsers. That's it!
https://www.selenium.dev/
WebDriver is disabled by default for security. In order to enable using
WebDriver, you will need to download and install the MicrosoftWebDriver in a
location with your test repository.
Quelle:
https://blogs.windows.com/msedgedev/2015/07/23/bringing-automated-testing-to-microsoft-edge-through-webdriver/
Den notwendigen "Treiber" gibt es für Edge auf https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ und nach dem Auspacken des ZIP-Archivs können Sie die EXE einfach starten. Sie öffnet ein Fenster, welches nur lokal auf einem Port erreichbar ist.
Von Microsoft gibt es nicht nur den WebDriver für Edge sondern auch Beispielcode:
- Use WebDriver to automate Microsoft Edge
https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=c-sharp
Auf weitere Details verzichte ich hier und verweise auf die weiteren Seiten:
- Microsoft Edge WebDriver Close the loop on your developer cycle by
automating testing of your website in Microsoft Edge with Microsoft Edge
WebDriver
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ - Bringing automated testing to Microsoft Edge through WebDriver
https://blogs.windows.com/msedgedev/2015/07/23/bringing-automated-testing-to-microsoft-edge-through-webdriver/ - Selenium and PowerShell
https://medium.com/@abdulkadirakyurt.de/selenium-and-powershell-17cf6c504ff1 - PowerShell: Einführung in die Webbrowser Automation mit Selenium WebDriver
https://administrator.de/tutorial/powershell-einfuehrung-in-die-webbrowser-automation-mit-selenium-webdriver-1197173647.html - Selenium PowerShell Module
https://www.powershellgallery.com/packages/Selenium
https://github.com/adamdriscoll/selenium-powershell - W3C: WebDriver
https://w3c.github.io/webdriver/ - Selenium automates browsers. That's it!
https://www.selenium.dev/ - Will Microsoft Edge support COM automation (InternetExplorer object)?
https://stackoverflow.com/questions/31302304/will-microsoft-edge-support-com-automation-internetexplorer-object
Edge drauf
Wenn sie aber den IE als Applikation entfernen oder Microsoft ihn geblockt hat, dann brauchen Sie ja einen anderen Browser. Sie haben hier mittlerweile eine breite Auswahl von Browsern, die im Hintergrund wieder Microsoft Edge die Chromium-Engine nutzen oder auf der Firefox-Engine aufsetzen. Solange in IE auf dem Server war, konnten sie da direkt den Edge herunterladen und installieren. Ohne einen Browser auf dem Server müssen Sie die Installationsquelle auf einem anderen System herunterladen, auf den Server kopieren und dann ausführen.
Download and configure Microsoft Edge for business
(Vollversion)
https://www.microsoft.com/en-us/edge/business/download
Webinstaller (ca. 2MB)
https://www.microsoft.com/en-us/edge
Der Webinstaller lädt dann natürlich die restlichen Bestandteile nach wozu das System Internetzugriff braucht. Das ist auf vielen Server nicht immer der Fall. Das ist aber der einfachste interaktive Weg. Ich habe aber noch einen Weg über Winget gefunden, der eine Automatisierung erlaubt.
winget install -e --id Microsoft.Edge
Bislang habe ich damit aber noch nicht gearbeitet, um praktische Tipps geben zu können
- Winget
https://winget.run/pkg/Microsoft/Edge - Windows Package Manager
https://learn.microsoft.com/en-us/windows/package-manager/ - Use the winget tool to install and manage applications
https://learn.microsoft.com/en-us/windows/package-manager/winget/
Weitere Links
- Lifecycle FAQ - Internet Explorer and
Microsoft Edge
https://learn.microsoft.com/en-us/lifecycle/faq/internet-explorer-microsoft-edge - Internet Explorer 11 desktop app retirement FAQ
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/internet-explorer-11-desktop-app-retirement-faq/ba-p/2366549 - Internet Explorer 11 has retired and is officially out of support—what you
need to know
https://blogs.windows.com/windowsexperience/2022/06/15/internet-explorer-11-has-retired-and-is-officially-out-of-support-what-you-need-to-know/ - Microsoft 365 apps say farewell to Internet Explorer 11 and Windows 10
sunsets Microsoft Edge Legacy
https://techcommunity.microsoft.com/t5/microsoft-365-blog/microsoft-365-apps-say-farewell-to-internet-explorer-11-and/ba-p/1591666 - Proven tools to accelerate your move to Microsoft Edge
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/proven-tools-to-accelerate-your-move-to-microsoft-edge/ba-p/2504818 - Azure DevOps Services to end support for
Internet Explorer 11 and legacy version of
Microsoft Edge
https://devblogs.microsoft.com/devops/azure-devops-services-to-end-support-for-internet-explorer-11-and-legacy-version-of-microsoft-edge/ - The future of Internet Explorer on Windows 10 is in Microsoft Edge
https://blogs.windows.com/windowsexperience/2021/05/19/the-future-of-internet-explorer-on-windows-10-is-in-microsoft-edge/ - How to Remove Internet Explorer from
Windows Computers and Servers
https://blog.expta.com/2023/01/how-to-remove-internet-explorer-from.html - New Microsoft Edge to replace Microsoft Edge Legacy with April’s Windows 10
Update Tuesday release
https://techcommunity.microsoft.com/t5/microsoft-365-blog/new-microsoft-edge-to-replace-microsoft-edge-legacy-with-april-s/ba-p/2114224