Note: This Blog-Post is written in German and refers to „Microsoft Edge v45“ which now (since January 2020) is called „Edge Legacy„. A newer Blog-Post covering Microsoft Edge based on Chromium (Version 77 and higher) is available here.
Hinweis: Diese Blog-Post bezieht sich auf „Microsoft Edge v45“ welcher nunmehr seit Jänner 2020 „Edge Legacy“ genannt wird. Für den neuen Microsoft Edge based on Chromium (ab Version 77+) habe ich hierzu einen neuen Blog-Post verfasst.
Microsoft unterstützt grundsätzlich die Konfiguration des in Windows 10 enthaltenen Browsers „Microsoft Edge“ mittels Gruppenrichtlinien (lokal oder per Active Directory). Einige Einstellungen – wie z.B. die SearchProvider oder die Startseite – lassen sich jedoch ausschließlich dann mittels Gruppenrichtlinien vorkonfigurieren, wenn das Gerät entweder Domain-joined ist, oder mittels MDM (Mobile Device Management, z.B. Intune / Azure AD) „verwaltet“ wird.
Nachfolgend zeige ich, wie – entgegen Microsofts Willen – auch eine Konfiguration von Startseite und Suchanbieter mittels lokaler Policies möglich ist, ohne dass die Maschine hierfür Domain-joined oder MDM-gemanaged werden muss. => Too long? => Dann gleich zur Lösung ans Ende des Artikels springen 🙂
Dieser Blog-Post stammt eigentlich aus April 2018, wurde am 30.03.2019 jedoch überarbeitet und neu veröffentlicht, um nicht nur Windows 10 v1709 und v1803, sondern auch v1809 und v1903 (Release Candidate, Stand 30.03.2019) zu unterstützten.
Die Gruppenrichtlinien finden sich unter „gpedit.msc“ -> Computerkonfiguration -> Administrative Vorlagen -> Windows Komponenten -> Microsoft Edge:
Die Einstellung der Startseite findet sich unter „Startseite konfigurieren„.
Hinweis im Abschnitt „Hilfe“: Diese Konfiguration wirkt nur dann, wenn das Gerät in eine Domäne eingebunden ist:
Mit dieser Richtlinieneinstellung können Sie eine oder mehrere Startseiten für Geräte konfigurieren, die in die Domäne eingebunden sind. Ihre Mitarbeiter können die Einstellung nicht ändern, nachdem Sie sie festgelegt haben.
In der Gruppenrichtlinie zur Änderung der Standardsuchanbieter (z.B. Google statt Bing) findet sich weiters der Hinweis:
Diese Einstellung kann nur bei Geräten verwendet werden, die in die Domäne eingebunden oder bei MDM registriert sind. Weitere Informationen finden Sie unter der Richtlinie für Microsoft-Browsererweiterungen (aka.ms/browserpolicy).
Und tatsächlich wirken die so gekennzeichneten Einstellungen auch nicht, ohne dass das Gerät per MDM verwaltet wird, oder in einer Domäne eingebunden ist.
Versuch: Konfiguration mittels MDM-WMI-Bridge-Provider
Um es vorwegzunehmen: Ja, man kann die gleichen Settings, die man mittels Gruppenrichtlinien konfigurieren kann, auch mittels PowerShell unter Verwendung des MDM WMI Bridge Providers konfigurieren. Allerdings klappt auch das nur mit jenen Einstellungen, die für die lokale Administration ohne MDM bzw. Domain-Join vorgesehen sind. Bei allen anderen Settings (z.B. der Homepage) erhält man beim Versuch diese zu konfigurieren lediglich eine nichtssagende generische Fehlermeldung.
Dokumentation hierzu, siehe:
- https://docs.microsoft.com/en-us/windows/client-management/mdm/using-powershell-scripting-with-the-wmi-bridge-provider
- https://msdn.microsoft.com/de-de/library/windows/desktop/dn948406.aspx
- https://docs.microsoft.com/en-us/windows/client-management/mdm/policy-csp-browser#browser-homepages
Die Nutzung ist nur als LocalSystem möglich, die Powershell muss daher als Administrator mittels psexec wie folgt gestartet werden:
psexec.exe -sid powershell.exe
Demo-PowerShell-Script
$namespaceName = "root\cimv2\mdm\dmmap" $ClassName = "MDM_Policy_Config01_Browser02" # Falls es noch keine Konfiguration gibt: $browser = new-CimInstance -Namespace $namespaceName -ClassName $ClassName -Property @{ParentID="./Vendor/MSFT/Policy/Config";InstanceID="Browser"} # Falls es bereits eine Konfiguration gibt, diese öffnen: $browser = get-CimInstance -Namespace $namespaceName -ClassName $ClassName # Verändern eines Settings, z.B.: $browser.AllowDoNotTrack = $true # Speichern Set-CimInstance -CimInstance $browser # Klappt wie oben demonstriert, jedoch NICHT mit dem Setting HomePages: # In diesem Fall wird nur ein sehr unspezifischer Fehler geworfen: $browser.HomePages = "<https://www.google.at>" Set-CimInstance -CimInstance $browser
Diese Konfigurationsvariante mittels PowerShell und MDM-WMI-Bridge-Provider bringt uns daher für diese Aufgabenstellung auch nicht weiter.
Konfigurations-Versuch per HKCU-Registry
Die Startseite kann also ohne MDM bzw. Domain-Join nicht per Gruppenrichtlinie vorgegeben werden. Für meinen Anwendungszweck wäre es eventuell auch ausreichend, die Konfiguration für den Benutzer mittels HKCU-Registry-Eintrag vorzunehmen. Das Problem hierbei: Microsoft schiebt diesem Vorhaben ebenfalls einen Riegel vor:
Die Edge-Startseite wird in folgendem Registry-Zweig abgelegt:
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Protected - It is a violation of Windows Policy to modify. See aka.ms/browserpolicy
Wer nun glaubt es handelt sich hier um einen Copy+Paste Fehler: NEIN – der Registry-Zweig heißt wirklich „Protected – It is a violation of Windows Policy to modify. See aka.ms/browserpolicy„. Und unterhalb dieses Zweiges befindet sich der Key „ProtectedHomepages“ sowie „ProtectedSearchScopes“. Diese Registry-Keys sind vom Typ REG_BINARY und offenkundig verschlüsselt, können daher – ohne aufwändiges Reverse Engineering – nicht selbst gesetzt werden. Auch in den Tiefen des Web wird man hier derzeit nicht fündig, es gibt zwar Ansätze / Versuche einer Disassemblierung, jedoch keinen einfachen Weg diese Registry-Keys aktuell selbst sinnvoll vorzukonfigurieren.
MDM – Mobile Device Management
Es gibt zahlreiche Anbieter für Mobile Device Management Lösungen. Vom Funktionsumfang her sicherlich nicht herausragend, aber dafür in einer kostenfreien Variante verfügbar ist Miradore Online. Für einen kurzen Versuch, ob mittels MDM-Enrollment die Policies tatsächlich wirksam werden ist der Funktionsumfang jedoch völlig irrelevant. Tatsächlich ist in der kostenlosen Variante von Miradore kaum eine Konfiguration möglich (es wird lediglich ein sehr einfach gehaltenes System-Inventory angeboten). Es reicht für den von mir benötigten Bedarf jedoch völlig aus, dass das Gerät sich „verwaltet fühlt“ (also das Mobile Device Enrollment Protokoll durchgeführt wurde). Ich habe kurzerhand daher den Versuch gemacht, und eine Test-VM für die Verwaltung mittels MDM konfiguriert.
Ergebnis: Ja, nun lässt sich auch die Edge Startseite mittels der oben erläuterten lokalen Gruppenrichtlinie wirksam konfigurieren.
„Fake MDM“ – Konfiguration
Woran erkennt Edge, ob das Gerät mittels MDM verwaltet wird?
Mittels ProcMon habe ich ermittelt, welche Änderungen bei einem MDM Enrollment durchgeführt werden, und welche Einträge davon anschließend offenkundig zur Erkennung genutzt werden. Eine vollständige MDM-Enrollment-Konfiguration ist umfangreich (beinhaltet gepinnte Zertifikate, URLs, etc…). Tatsächlich ist für die positive Erkennung des MDM-Enrollment-Status um die Policies wirken zu lassen jedoch nur sehr wenig nötig, nämlich konkret:
MDM-Enrollment Fake-Konfiguration
Windows Registry Editor Version 5.00 ; # Fake MDM-Enrollment, damit die Maschine sich "managed" fuehlt [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Enrollments\FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF] "EnrollmentState"=dword:00000001 "EnrollmentType"=dword:00000000 "IsFederated"=dword:00000000 ; # Ab Win10 v1809 und v1903 ist zusaetzlich auch noch diese Fake MDM-Enrollment Konfiguration noetig, damit die Maschine sich "managed" fuehlt [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Provisioning\OMADM\Accounts\FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF] "Flags"=dword:00d6fb7f "AcctUId"="0x000000000000000000000000000000000000000000000000000000000000000000000000" "RoamingCount"=dword:00000000 "SslClientCertReference"="MY;User;0000000000000000000000000000000000000000" "ProtoVer"="1.2"
Positives Fazit – Lösung / Zusammenfassung
Ein Import dieser oben angeführten zwei Registry-Key Blöcke reicht aus -> danach erkennt Edge das Vorliegen eines per MDM verwalteten Gerätes und akzeptiert auch die nur im Domain-joined Betrieb anwendbaren Gruppenrichtlinien. Die oben verwendete GUID FFFFF…. wurde von mir willkürlich gewählt, und soll eine Verwechslung mit den zahlreichen anderen (vorhandenen) ConfigurationProvidern ausschließen.
Insgesamt sind also folgende Konfigurationen nötig – vollständig umgesetzt, als reg-File wie folgt:
Nach Durchführung der Änderungen empfiehlt es sich die Maschine neu zu starten, oder den Benutzer ab- und neu anzumelden. Nur Edge zu schließen und neu zu starten reicht erfahrungsgemäß nicht immer aus, da Edge – je nach Konfiguration – auch im Hintergrund beim Schließen weiterläuft.
Windows Registry Editor Version 5.00 ; # Fake MDM-Enrollment, damit die Maschine sich "managed" fuehlt [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Enrollments\FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF] "EnrollmentState"=dword:00000001 "EnrollmentType"=dword:00000000 "IsFederated"=dword:00000000 ; # Ab Win10 v1809 und v1903 ist zusaetzlich auch noch diese Fake MDM-Enrollment Konfiguration noetig, damit die Maschine sich "managed" fuehlt [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Provisioning\OMADM\Accounts\FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF] "Flags"=dword:00d6fb7f "AcctUId"="0x000000000000000000000000000000000000000000000000000000000000000000000000" "RoamingCount"=dword:00000000 "SslClientCertReference"="MY;User;0000000000000000000000000000000000000000" "ProtoVer"="1.2"
; # ---- Edge Policies nachfolgend ---- ; # nicht alle nachfolgenden Policies sind auch bereits mit Win10 v1803 verfuegbar, ; # z.B. die Policies zur Konfiguration des HomeButtons kamen erst ab v1809 hinzu [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Internet Settings] ; # Was soll Edge beim Start tun: 3 = Load a specific page or pages "ConfigureOpenMicrosoftEdgeWith"=dword:00000003 ; # Edge Startseite (beim Start von Edge) - als Policy konfigurieren, wirkt nur in Verbindung mit MDM "ProvisionedHomePages"="<https://hitco.at/blog/>" ; # Oder: Mehrere Startseiten als Tabs als Policy konfigurieren ; "ProvisionedHomePages"="<https://hitco.at/blog><https://orf.at>" ; # Dem Anwender verbieten, sich die vorkonfigurierte Startseite selbst abzuaendern ;"DisableLockdownOfStartPages"=dword:00000001 "DisableLockdownOfStartPages"=dword:00000000 ; # Den HomeButton links neben der URL-Eingabezeile belegen. Hat nichts mit der StartPage zu tun "HomeButtonURL"="https://hitco.at/pictures/" "UnlockHomeButton"=dword:00000000 "ConfigureHomeButton"=dword:00000002 ; # URL die geladen werden soll, wenn eine neue Registerkarte geladen wird (Plus-Symbol) "NewTabPageURL"="https://hitco.at/" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main] "PreventFirstRunPage"=dword:00000001 ; # PreLaunch von Edge deaktivieren "AllowPrelaunch"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\OpenSearch] ; # Suchanbieter vorkonfigurieren "SetDefaultSearchEngine"="<https://www.google.at/searchdomaincheck?format=opensearch>" ; # Weitere Suchanbieter zur Auswahl anbieten: "ConfigureAdditionalSearchEngines"="<https://www.google.at/searchdomaincheck?format=opensearch><https://duckduckgo.com/opensearch.xml>" [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Protected - It is a violation of Windows Policy to modify. See aka.ms/browserpolicy] ; # Dem Anwender erlauben, sich auch selbst Suchanbieter hinzuzufuegen "AllowSearchEngineCustomization"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\ServiceUI] ; # ermoeglicht NewTabPageURL - siehe oben "AllowWebContentOnNewTabPage"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader] ; # PreLoading der Edge-Tabs (schon vor einem Edge-Start) nicht durchfuehren "AllowTabPreloading"=dword:00000000
Ergänzung: Home-Button in HKCU-Registry mit definierter Site belegen (alte Win10 Versionen v1709 & v1803)
Ergänzend zur Startseite gibt es noch den „Home-Button“. Ab Windows 10 v1809 lässt sich auch dieser mittels Policies konfigurieren – dies ist im obigen Beispiel auch bereits demonstriert. Unter v1709 und v1803 bestanden diese Policies aber noch nicht, wer noch eine ältere Version als v1809 einsetzt kann sich jedoch nachfolgender Konfigurationsmöglichkeit bedienen:
Windows Registry Editor Version 5.00 ; Den HomeButton links neben der URL-Eingabezeile belegen. Hat nichts mit der StartPage zu tun [HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Main] "HomeButtonPage"="https://hitco.at" ; Neues Tab soll leer sein, nicht Vorschläge anzeigen [HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\ServiceUI] "NewTabPageDisplayOption"=dword:00000002 ; Seitenvorhersage deaktivieren [HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\FlipAhead] "FPEnabled"=dword:00000000
Tolle Anleitung, es funktioniert.
Wenn ich dann jedoch noch die URL hinter dem Homebuttom verändern möchte ?
„HomeButtonEnabled“=dword:00000001
„HomeButtonPage“=““
funktioniert leider nicht…..
Gruss
Tom
Danke Tom für die Frage. Habe oben als Ergänzung die Info wie der „Home-Button“ konfiguriert wird hinzugefügt.
Hallo Gunnar
Klappt TipTop.
Interessant ist der Nebeneffekt, beim ersten Start vom EDGE nach dem einfügen (verteilen) des Regkey sieht man noch die MS Seite.
Dann den EDGE schliessen und wieder öffnen und ok ist es.
Wenn ich nun noch ein 2. Tag mit einer anderen Seite Standard geöffnet haben möchte …… ?
Beim IE geht mit dem „SecondHomePage“.
Danke und Gruss
Tom
Betreffend „Edge schließen“ -> das bedeutet nicht zwingend, dass kein Edge mehr läuft. Die Settings werden bei einem Neustart der Edge UniversalApp eingelesen, wenn man Edge lediglich „kurz schließt“ dann beendet sich dabei jedoch nicht zwingend die UniversalApp sondern diese läuft erfahrungsgemäß (wohl aus Performancegründen) noch weiter und wird bei einem Start des Edge lediglich erneut in den Vordergrund geholt.
Betreffend mehrere Startseiten (Tabs): Habe das als Beispiel jetzt oben im Reg-File als Kommentar ergänzt, als ProvisionedHomePages mehrere angeben:
<https://hitco.at><https://orf.at>
Excellent done. 😉
Super Anleitung, danke!!!
Die Anleitung hat mir sehr effektiv weitergeholfen. Meine daraufhin an support@startpage.com gerichtete Anfrage nach deren Syntax für Microsoft Edge wurde Heute wie folgt beantwortet:
…
Please use „https://www.startpage.com/en/opensearch.xml“ instead of „https://www.google.com/searchdomaincheck?format=opensearch“ to set default search engine as Startpage.com.
…
Gruß
tom2
Funktioniert leider nicht mehr unter Windows 10 1903.
Gibt es noch irgendwo einen Eintrag, den man setzen sollte?
Lieber Anonymous,
ich kann Dir leider keine Nachricht senden, da Du keine E-Mail-Adresse hinterlassen hast. Ich habe den Artikel nun überarbeitet. Die gezeigte Konfiguration funktioniert auch mit Windows 10 v1809 und v1903 (dazu habe ich den ReleaseCandidate aus der InsiderPreview vom 30.03.2019 genutzt).
Hallo
Du hast mein WE gerettet. Wir haben die HP umgestellt und ich konnte im Edge nicht auf die neue wechseln.
Mit deiner Anleitung funktioniert es 1A.
Aber genau wie du geschrieben hast mit der Fake MDM
Vielen Dank nochmals
Und ein Corona Freier Gruss aus der Schweiz
René
Thanks a bunch saved the day 🙂
Vielen lieben dank für die Anleitung.
War schon am schimpfen …
Funktioniert tadellos
search engine configuration don’t work, is there any change in the keys?
Dear „Anonymous“,
You give no Information regarding Windows-Release and Edge-Version. If you are using Edge based on Chromium Version 79 and above see my newer Blogpost https://hitco.at/blog/apply-edge-policies-for-non-domain-joined-devices/
This is great work, and I was successfully able to customise the URL loaded on the new tab page, and add my own search providers. One thing I am stuck on is how am I able to remove search providers added in this manner, if I decide that I no longer want a given search provider? If I remove the registry values in HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MicrosoftEdge\OpenSearch, in Edge the search providers are still listed, and the ‚Remove‘ button for each remains disabled (Settings > Advanced > ‚Change search provider‘ button > List of search providers installed). Removing the two Fake-MDM registry keys does not help either. Microsoft Legacy Edge 44.18362.449.0, Windows 10 Professional 1909.
Thanks Jim for your feedback.
Seems this is an EdgeLegacy Bug, I can confirm this behaviour.
Are you sure you like to stick on Edge Legacy 44? Microsoft starts to enforce replacing Edge Legacy with Edge based on Chromium via automatic Windows-Update in the next weeks. So the time using Edge legacy 44 is almost over.
Thanks Gunnar. Good to know I haven’t missed something obvious. Edge Legacy isn’t my main browser, but it’s nice to have a non-chromium browser available for testing, and in the spirit of browser diversity! I didn’t realise Microsoft were going to force Edge Chromium upon us; thanks for the headsup 🙂
Hey, ich hab eine Frage.
Ich habe deine .reg Datei nun auf einer 1909 und 2004er Maschine angepasst und ausgeführt.
Auf der 1909er Maschine funktioniert alles wunderbar, auf der 2004er jedoch übernimmt er nicht die Startseite.
Die gewünschte Seite ist zwar durch den „ProvisionedHomePages“-Eintrag gesetzt (und wird auch ausgegraut in Edge angezeigt), jedoch wird immer noch die Edge Startseite beim Starten geöffnet und ist auch mit dem Eintrag „Startseite“ im Menüpunkt „Microsoft Edge öffnen mit“ angezeigt.
Alle Einträge in der registry ist korrekt gesetzt.
Weißt du vielleicht woran das liegen könnte?
Jojojo bin dumm! Habs
Ist die bewusst, dass dieser Blogpost den alten Edge Legacy v45 und nicht den aktuellen Edge based on Chromium behandelt? Microsoft rollt mit v20H2 nun endgültig Edge based on Chromium aus und entfernt Edge Legacy. Du solltest Dir also meinen Nachfolge-Blogpost der ganz oben verlinkt ist und Edge based on Chromium behandelt ansehen. Dieser ist auch für v2004 und v20H2 getestet.
VIELEN DANK FÜR DIESE ANLEITUNG! Unglaublich, dass Sowohl Chrome als auch Edge diese Beschränkung nutzen, um eben nur in der Domäne oder als MDM Client zu funktionieren. Nach Stunden des Try-and-Erro endlich eine Lösung. AUch für Chrome! Tausend Dank!!!