I don’t know how many times I got the question “How do I customize the file associations in Windows 10?”.
The old commands assoc and ftype, does work, but not as you would expect, those simply works better in Windows XP, 7 environments. So what choice do we have to customize the default file associations in Windows 10? There are two:
- Servicing and management tool, DISM.exe
- Group policy setting, Set a default associations configuration file
Over to the preparations, how do I do? Prepare a computer with the associations as you would like to have them. Head over to an elevated command prompt and write the following command on a running machine
dism.exe /Online /Export-DefaultAppAssociations:C:\Temp\DefaultAssoc.xml
Looking at the file and it looks something like this
<?xml version=”1.0″ encoding=”UTF-8″?>
<Association Identifier=”.3g2″ ProgId=”AppX6eg8h5sxqq90pv53845wmnbewywdqq5h” ApplicationName=”Movies & TV” />
<Association Identifier=”.3gp” ProgId=”AppX6eg8h5sxqq90pv53845wmnbewywdqq5h” ApplicationName=”Movies & TV” />
<Association Identifier=”.3gpp” ProgId=”AppX6eg8h5sxqq90pv53845wmnbewywdqq5h” ApplicationName=”Movies & TV” />
<Association Identifier=”.aac” ProgId=”AppXqj98qxeaynz6dv4459ayz6bnqxbyaqcs” ApplicationName=”Groove Music” />
Now time for some clean up. I generally recommend to only keep the associations you would like to configure. In my case the file looks like this
<?xml version=”1.0″ encoding=”UTF-8″?>
<Association Identifier=”.xml” ProgId=”Applications\NOTEPAD.EXE” ApplicationName=”Notepad” />
This XML file you just generated will be used to prepare the computers
Servicing and management tool
First options is to use the DISM tool. Simple and straight forward.
dism.exe /online /Import-DefaultAppAssociations:C:\temp\DefaultAssoc.xml
Use this in your Configuration Manager/Microsoft Deployment Toolkit Task Sequence or your choice of deployment solution.
Remember this option only takes care about new user profiles. To handle running users head over to the second option.
Group Policy setting
So use this option to your already logged on users. I always suggest to copy the XML to the local computer first, with a ConfigMgr package or Group Policy Preference. Why? This is simply more reliable and faster, than running over network. Depending on your size, network topology and other requirements running directly over network may be an option for you.
First an example how to create a preference to copy the XML file. Edit the GPO of your choice and browse to Computer Configuration\Preferences\Windows Settings\Files right click and New > File
Note! Preference does not use normal system variables, that why I used %CommonAppdataDir%. You can see the full list if you press F3 while in the text field. Also do not forget to place your XML file on the NetLogon share, or your preferred share.
Now head over to Computer Configuration\Administrative Templates Windows Components\File Explorer
Open the setting called Set a default associations configuration file, choose enable and paste the location to the XML file on the local computer, in my example %ProgramData%\Customizations\DefaultAssoc.xml.
Now you are done, switch to a domain joined computer and test your configuration.
Two things to keep in mind
Every time the date of the file is changed the setting will be reapplied, you can also use this PowerShell command to update the date
(ls .\DefaultAssoc.xml).LastWriteTime = Get-Date
If a user wants to change the default associations they can override the settings, by just right the file and Open with option. User setting wins.
I will continue to write one or two posts how to customize the start layout, and I am sure you will learn some new stuff about that
Good article, very useful!
Here are some methods for WinXP, Win7, Win8: http://www.sysadmit.com/2015/04/windows-asociar-extensiones-a-programas-GUI-CMD-GPO.html
LikeLiked by 1 person