Tips and Resources

Setting Default Browser and File Associations for Domain Users

Guide for settings default file associations for all domain users using DISM, Group Policy & SetDefaultBrowser.exe

Set Initial file associations for new users using DISM

Using DISM, you can set a list of file associations to be applied to new users of an individual computer. 

On a reference computer with the associations set the way you wish to apply to new users run:

Dism.exe /online /Export-DefaultAppAssociations:C:\DefaultAssociations.xml

Open up the DefaultAssociations.xml  file with a text editor and remove any of the file types you do not want to set.  For example if you just wanted to set Adobe Reader as the default viewer for all Reader files use an xml file like this:

<DefaultAssociations>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".pdf" ProgID="AcroExch.Document.DC"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".pdfxml" ProgID="AcroExch.pdfxml"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".acrobatsecuritysettings" ProgID="AcroExch.acrobatsecuritysettings"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".fdf" ProgID="AcroExch.FDFDoc"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".xfdf" ProgID="AcroExch.XFDFDoc"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".xdp" ProgID="AcroExch.XDPDoc"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".pdx" ProgID="PDXFileType"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".api" ProgID="AcroExch.Plugin"/>
<Association ApplicationName="Adobe Acrobat Reader DC" Identifier=".secstore" ProgID="AcroExch.SecStore"/>
</DefaultAssociations>

Once the .xml file is set the way you want, save it onto the computer your users log into and run:

Dism.exe /Online /Import-DefaultAppAssociations:<path to the .xml file>

Note: This will only set the file associations on first login, subsequent logins will use the user's profile. You can also import the .xml file during the image building process if you are using an imaging tool such as the Microsoft Deployment Toolkit (MDT) or Windows Deployment Services.

Set File Associations from an XML file using Group Policy

The xml file created from the DISM command can be applied per-computer using group policy: Computer Configuration -> Administrative Templates -> Windows Components ->File Explorer -> Set a default associations configuration file Set this policy to Enabled and enter the path to the XML file the computers can access. 

Set Default Browser Per User with an Existing User Profile

It seems Microsoft don't allow changing File Associations and the Default Browser for users already on the network (with a local or roaming profile) Per User using group policy.

For this use case I've had the most success using 3rd party tools, like Christoph Kolbicz's SetUserFTA and SetDefaultBrowser

To set the default browser at login, first run SetDefaultBrowser.exe using a reference computer with no parameters. You'll see an output similar to this showing you all browsers installed:

Make note of the registry name (for example: HLKM Google Chrome) of the browser you wish to set as the default for your users.

Using a group policy object attached to your users OU (User Configuration -> Policies -> Windows Settings -> Scripts -> Logon), set this program to run on logon using the HKLM line in the output as above in the parameters field.

 

Note the parameters must include quotes around the browser's name. I've had the most success using the delay=2000 parameter to delay the execution of SetDefaultBrowser.exe by 2 seconds. This seems to allow enough time for the script to properly re-create the icons for desktop shortcuts.

Set File Associations Per User with an Existing User Profile

In addition to setting the default browser, you can also use this method to set file associations for your users at login using SetUserFTA.exe. On a reference machine that has the file associations set the way you'd like to set for your users, run 'SetUserFTA.exe get' from the command line and note the output. Look for the file types listed that you want to set, and the associated application. 

Using your preferred method, run SetUserFTA.exe at user login setting the Script Parameters as <file extension, application>. For example .pdf, AcroExch.Document.DC. If you are setting multiple file associations, I suggest using a CSV file instead:

.pdf, AcroExch.Document.DC
.svg, ChromeHTML

 

References

https://kolbi.cz/blog/2017/11/10/setdefaultbrowser-set-the-default-browser-per-user-on-windows-10-and-server-2016-build-1607/

https://kolbi.cz/blog/2017/10/25/setuserfta-userchoice-hash-defeated-set-file-type-associations-per-user/

https://docs.microsoft.com/en-au/archive/blogs/windowsinternals/windows-10-how-to-configure-file-associations-for-it-pros

https://community.spiceworks.com/topic/2177381-force-default-apps-programs-in-windows-10-via-gpo