Standardprogramme (Browser, PDF-Viewer) in Windows 10 mit GPOs ändern

    Standard-Browser in der App Einstellungen auswählenAuf einem frischen Windows 10 sind die wich­tigsten Datei­typen und Proto­kolle bereits mit Apps wie Edge oder Fotos verknüpft. Gerade beim Browser ziehen die meisten Anw­ender Fire­fox, IE oder Chrome vor. Diese Zu­ord­nung kann man über eine neue GPO-Einstellung ändern.

    Unter Windows 7 war es Applikationen noch möglich, die Verknüpfung mit bestimmten Datei-Extensionen oder Protokollen wie mailto: selbständig zu ändern. Dies führte dann oft dazu, dass sich Programme um bestimmte Erweiterungen für Bilder oder Web-Seiten rauften.

    Programme und Scripts können Zuordnungen nicht ändern

    Gleichzeitig boten jedoch die Group Policy Preferences (GPP) einen flexiblen Mechanismus, um die Datei-Assoziationen zentral zu verwalten und regelmäßig auf einen gewünschten Wert zurückzusetzen. Dieser greift aber seit Windows 8 nicht mehr, so dass man unter Windows 10 ein anderes Verfahren bemühen muss.

    Hintergrund dafür ist, dass Microsoft die Änderungen an Datei- oder Protokoll­zuordnungen verwirft, wenn die Anwendung nicht zusätzlich einen korrekten Hash-Wert in den betreffenden Registry-Schlüssel schreibt. Nachdem der dafür erforderliche Algorithmus nicht bekannt ist, bleibt Anwendungen und Scripts diese Option verschlossen.

    Vorgaben nur für Computer, nicht für Benutzer

    Grundsätzlich hätte Microsoft die GPP ebenfalls befähigen können, diesen Hash-Wert zu berechnen, der für jeden User und jede App individuell ausfällt. Stattdessen entschloss sich der Hersteller, einen neuen Mechanismus einzuführen, bei dem der Administrator die Einstellungen einer Referenz­installation in eine XML-Datei exportiert und diese dann über ein GPO verteilt.

    Im Vergleich zu den GPP bringt das neue Vorgehen auch Nachteile mit sich. Zum einen lässt sich die neue Gruppen­richtlinie nur auf Computer anwenden, im Zweig Benutzer existiert sie nicht. Zum anderen bieten die GPP mit der so genannten Zielgruppen­adressierung wesentlich bessere Möglichkeiten, die Anwendung eines GPO auf bestimmte User oder Computer einzuschränken.

    IE oder Chrome als Standard-Browser festlegen

    Im ersten Schritt konfiguriert man auf dem Musterrechner die Standard­programme für die gewünschten Dateitypen und Protokolle. Dies kann entweder über die App Einstellungen unter System => Standard-Apps oder die Systemsteuerung unter Programme => Standardprogramme => Standardprogramme festlegen erfolgen.

    Standardprogramme über die Systemsteuerung festlegen

    Für diese Aufgabe sollte man sich jedoch als lokaler Administrator anmelden, weil der anschließende Export erhöhte Rechte voraussetzt. Nimmt man dagegen die Dateizuordnung als normaler User vor, dann bleiben diese Änderungen nachher auf der Strecke, weil DISM nicht sie, sondern die Einstellungen des privilegierten Benutzers übernimmt.

    Möchte man Edge nicht als Vorgabe-Browser, wie dies unter einem neu installierten Windows 10 der Fall ist, dann wählt man aus der Liste der Programme etwa den Internet Explorer oder Google Chrome aus und folgt dann dem Link Standards für dieses Programm festlegen, wenn man ihm nicht pauschal alle unterstützten Dateitypen und Protokolle zuschanzen möchte.

    Dateiendungen .html und .htm von Edge auf Chrome übertragen

    Für den Export der konfigurierten Standard­programme verfügt DISM seit Windows 8 einen neuen Schalter. Der folgende Aufruf schreibt alle Einstellungen zu den Standard­programmen in die Datei assoc.xml:

    dism /online /Export-DefaultAppAssociations:assoc.xml

    Einträge der XML-Datei filtern

    Um sie auf andere Systeme zu übertragen, muss man nicht alle darin enthaltenen Zuordnungen beibehalten. Vielmehr ist es zulässig etwa nur die Verknüpfungen mit dem Internet Explorer zu extrahieren. Dies könnte man mit diesem PowerShell-Kommando erreichen:

    Get-Content .\assoc.xml |
    Select-String -Pattern "(Internet Explorer)|(.xml)|(Default.*)" |
    Out-File .\ie-assoc.xml

    Das erste Muster extrahiert alle Einträge für den IE, die beiden anderen sorgen dafür, dass die XML-Deklaration und das Wurzelelement DefaultAssociations mit übernommen werden.

    Einstellungen für den IE als Standard-Browser im XML-Format.

    Wie ein Blick auf die XML-Daten zeigt, enthalten die Angaben zu den Programmen keinen Pfad, sondern nur eine ProgId. Dagegen musste man bei der alten GPP-Methode noch den Speicherort des Programms angeben, was bei uneinheitlichen Installationen zu Problemen führte.

    Zuordnungen in Online- oder Offline-Image schreiben

    Will man die exportierten Einstellungen vor dem Deployment in ein Systemabbild übernehmen, dann muss man dieses mit DISM nach diesem Muster mounten:

    dism /mount-image /ImageFile:install.wim /Index:1 /MountDir:D:\mount

    und anschließend die Dateizuordnungen dorthin übertragen:

    dism /Image:D:\mount /Import-DefaultAppAssociations:ie-assoc.xml

    Zum Schluss schreibt man die Änderungen in das Image und unmountet es:

    dism /Unmount-Image /MountDir:D:\mount /Commit

    Möchte man die Dateizuordnungen in das aktuell ausgeführte Windows importieren, dann ersetzt man im zweiten Aufruf den Parameter Image durch Online, also zum Beispiel

    dism /online /Import-DefaultAppAssociations:ie-assoc.xml

    Standardprogramme über GPO festlegen

    Laufen die Zielrechner schon unter Windows 10, dann nutzt man alternativ ein GPO, um die Konfiguration für die Standard­programme im Netzwerk zu verteilen. Die dafür zuständige Einstellung findet sich unter Computerkonfiguration => Richtlinien => Administrative Vorlagen => Windows-Komponenten => Datei-Explorer und heißt Konfigurations­datei für Standard­zuordnungen festlegen.

    XML-Datei mit den Zuordnungen der Standardprogramme über ein GPO verteilen.

    Nach der Aktivierung dieser Einstellungen erwartet der GPO-Editor die Eingabe des Pfades zur XML-Datei, in die man die Zuordnungen exportiert hat. Hier wird man in der Regel eine Freigabe im Netzwerk wählen, wobei darauf zu achten ist, dass die PCs dort die nötigen Zugriffsrechte besitzen.

    2 Kommentare

    Bild von Maddoc
    Maddoc sagt:
    13. Oktober 2017 - 12:32

    Hallo. Habe einen Server 2008 und es funktioniert nicht. Liegt es an der Serverversion oder gibts da noch eine andere Möglichkeit?

    Viele Grüße

    Bild von Mrothyr
    Mrothyr sagt:
    24. Oktober 2017 - 11:26

    Mit dem Server 2008 kannst du den Spaß nur eingeschränkt anwenden. Der Export funktioniert erst seit Server 2012 und Windows 8, die Richtlinie zieht ebenfalls erst seit Server 2012 und Windows 8.

    Du kannst sie aber mit einem Server 2008 verteilen, wenn du die passenden ADMX aktiv hast - also entweder aus deinem Client-Windows auf den Server extrahieren oder halt den zentralen Richtlinienspeicher auf die aktuellen Versionen der ADMX aktualisieren (kannst die ADMX auch im MS-Downloadcenter runterladen). Solltest du sowieso machen, wenn du Windows 10 im Netzwerk per Gruppenrichtlinien managst - ansonsten siehst du nur die Einstellungen, die unter Server 2008/Vista aktiv waren.