Как задать ассоциации файлов с программами в Windows: DISM, GPO и CMD

В этой статье мы рассмотрим основные способы задать ассоциации для различных типов файлов с программами в Windows с точки зрения системного администратора. Ассоциация файла в Windows определяет настроенное соответствие между типом (расширением) файла и программой, с помощью которой он открывается по умолчанию. Нужно отметить, что способы управления ассоциациями файлов, которые работали в старых версиях Windows, не работают или работают частично в современных версиях Windows 11/10 и Windows Server 2025/2022.

В качестве примера мы покажем, как в Windows назначать программу по-умолчанию для открытия *.pdf файлов вручную, через командную строку, через импорт текущих настроек сопоставлений файлов с программами в XML файл и применения этого файла на другие компьютеры вручную или с помощью групповых политик, а также особенности настройки пользовательских и системных ассоциаций файлов в актуальном билде Windows 11 25H2.

Задать программу по умолчанию для открытия типа файлов в Windows 11

Сначала рассмотрим официальный административный метод импорта и экспорта настроек ассоциаций файлов, который работает как в Windows 10, так и в Win 11, не блокируется встроенной защитой Windows 11 (UserChoice) и не сбрасывается системой.

Предположим, вы хотите задать Adobe Reader DC в качестве приложения по умолчанию для открытия *.pdf файлов на всех компьютерах домена. Т.е. вы хотите создать ассоциацию этого расширения файлов с приложением. Для этого нам понадобится эталонный компьютер с Windows (в этом примере используется актуальный билд Windows 11 25H2) и установленным Acrobat Reader DC.

Чтобы вручную создать сопоставление определенного типа файла с программой:

  1. Откройте панель Settings -> Default Apps (для быстрого перехода используйте команду быстрого доступа Settings -> ms-settings:defaultapps ).
  2. В поисковой строке Set a default for a file type укажите расширение файла .pdf
  3. Под поисковой строкой появится текущее приложение, ассоциированное с этим типом файлов (по умолчанию в Windows 11 для просмотра PDF файлов использует браузер Microsoft Edge).
  4. Щелкните по назначенному приложению и выберите из предложенного списка Adobe Reader. Если он по какой-то причине он не отображается в списке рекомендуемых приложений, укажите путь к исполняемому файлу вручную (например, "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" )windows 11 - назначить приложение по умолчанию для определенного типа файлов
  5. Нажмитек нопку Set as default.

Можно автоматически ассоциировать определенную программу с типами файлов, для которых она зарегистрирована. Для этого в разделе Default Apps найдите в списке нужную программу и щелкните по ней.

Приложение по умолчанию в Win 11 для типа файлов (расширений)-prilozheniya-po-umolchaniyu

В открывшемся окне появится список типов файлов, поддерживаемых данным приложением. Выберите расширения файлов, которые должны открываться с помощью Acrobat Reader.

Задать файловую ассоциацию через приложение settings

Экспорт, импорт и перенос настроек файловых ассоциаций через XML файл

После того, как вы под пользователем настроили все необходимые ассоциации файлов с программами на эталонном компьютере, текущие настройки можно экспортировать в XML файл с помощью команды DISM.

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

Откройте полученный XML файл с помощью любого текстового редактора (например, notepad). В этом файле содержатся все настроенные у пользователя ассоциации расширений файлов с программами. Вы можете вручную удалить лишние строки, оставив только те файловые ассоциации, которые вы хотите принудительно задать другим пользователями (чтобы не перезатирать уже имеющиеся пользовательские настройки для других типов файлов).

К примеру, оставьте только строки для расширений файлов .pdf и .fdf, остальные строки удалите. Должен получиться примерно такой XML-файл:

<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier=".fdf" ProgId="AcroExch.FDFDoc" ApplicationName="Adobe Acrobat Reader DC" />
<Association Identifier=".pdf" ProgId="AcroExch.Document.DC" ApplicationName="Adobe Acrobat Reader DC" />
</DefaultAssociations>

Dism Export-DefaultAppAssociations в XML файл

Полученный XML файл с файловыми ассоциациями можно импортировать на других компьютерах с помощью команды DISM:

Dism.exe /Online /Import-DefaultAppAssociations:C:\PS\DefaultAssoc.xml

Важно. Настройки сопоставления файлов с программами, заданные таким образом, будут применены только к новым пользователям системы во время их первого входа. На уже существующие в системе профили пользователей эти настройки не повлияют.

Если при импорте появится ошибка App default reset notification, проверьте синтаксис XML файла.

Также можно импортировать параметры ассоциаций в офлайн образ Windows в wim файл (который вы используете для раскатки вашего кастомного образа Windows на новые компьютеры). Сначала нужно смонтировать образ:

Dism /Mount-Image /ImageFile:C:\mnt\images\install.wim /MountDir:C:\mnt\offline

А затем импортировать XML файл:

Dism.exe /Image:C:\mnt\offline /Import-DefaultAppAssociations:\\Server1\Share\DefaultAssoc.xml

Совет. Текущие настройки ассоциаций файлов в офлайн образе Windows можно получить с помощью команды:

Dism.exe /Image:C:\mnt\offline /Get-DefaultAppAssociations

Настройка ассоциаций файлов в Windows с помощью GPO

В Windows 10 /11 и Windows Server 2025/2022/2019/2016 доступна специальная опция групповых политик, позволяющая применить XML файл с настройками ассоциаций файлов ко всем текущим пользователям компьютера.

Например, вы хотите применить групповую политику с настройками ассоциаций файлов ко всем компьютерам в определенном OU (Organizational Unit) Active Directory.

  1. Откройте консоль управления доменными GPO ( gpmc.msc );
  2. Найдите OU с компьютерами, для которых вы хотите применить файловые ассоциации и создайте новую GPO;
  3. Переключитесь в режим редактирования GPO и перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> File Explorer;
  4. Найдите параметр Set a default associations configuration file (Задать файл конфигурации сопоставлений по умолчанию);
  5. Включите политику и укажите UNC путь к вашему xml файлу (убедитесь, что путь не содержит кавычки или пробелы). Его можно разместить на общедоступном файловом сервере, в каталоге SYSVOL на контроллере домена, или предварительно скопировать файл на компьютеры с помощью GPP/ SCCM;применить настройки ассоциаций файлов с помощью групповой политики
  6. Перезагрузите компьютер, чтобы применить новые ассоциации файлов.

Новые настройки сопоставлений будут применены ко всем пользователям компьютера после следующего входа.

Путь к XML файлу с новыми настройками ассоциации файлов содержится в параметре реестра DefaultAssociationsConfiguration в разделе Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System.DefaultAssociationsConfiguration параметр реестра windows 10

Данная политика применяется для всех пользователей на уровне всего компьютера (machine-level). Нельзя применить ее только для определенных пользователей или групп. Новые настройки файловых ассоциаций применяются при входе. И хотя пользователь в процессе работы в своем сеансе может их переопределить, при следующем обновлении групповой политики во время входа в систему, ассоциаций файлов пользователя будут перезаписаны настройками из XML файла.

Т.к. Windows 10 и 11 отслеживают смену файловых ассоциаций, то при первой попытке открыть PDF файл может появится окно с подтверждением использования Acrobat Reader как программы по-умолчанию для открытия этого типа файлов (запрос появляется только один раз). Такой запрос будет всегда появляться также после установки нового приложения, которое регистрируется для открытия существующего типа файлов или протоколов. Можно скрыть данные уведомления, включив в этом же разделе GPO политику Do not show the ‘new application installed’ notification (Не показывать уведомление “установлено новое приложение”).

В предыдущих версиях Windows назначить ассоциации можно было через функционал Group Policy Preferences Open With. Однако в Windows 10 и 11 это больше не работает.

Изменить ассоциации программ с типами файлами в Windows из командной строки

В предыдущих версиях Windows для настройки сопоставления типов файлов с приложениями можно было использовать утилиту командной строки assoc. Например, чтобы вывести программу, которая назначена для открытия файлов PDF, выполните командой строке:

assoc .pdf

В данном примере видно, что с этим расширением ассоциирован тип файлов Acrobat.Document.DC:

.pdf=Acrorbat.Document.DC

Команда assoc выводит псевдоним приложения. Чтобы понять с каким конкретно исполняемым файлом ассоциировано приложение:

ftype Acrobat.Document.DC

команды assoc и ftype - изменить ассоциации с файлами из командной строки

Вывести все зарегистрированные типы (расширения) файлов и сопоставленные с ними приложения:

assoc|more

Вы можете задать тип для определенных файлов с помощью команды:

ASSOC .csv=txtfile

В этом примере мы указали, что все CSV файлы нужно открывать как обычные текстовые файлы (по умолчанию с помощью notepad.exe).

Из командной строки вы можете создать или изменить ассоциацию файл с программой. Например, вы хотите, чтобы все файлы с расширением tx1 открывались с помощью notepad++.exe. Сначала нужно создать ассоциацию расширения .tx1 с новым типом файлов tx1file.

assoc .tx1=tx1file

Теперь укажем программу, которая должна использоваться по умолчанию при открытии файлов с расширением tx1.
ftype tx1file="%programfiles(x86)%\"Notepad++\notepad++.exe" "%1"

Однако в Windows 11 любые изменения, ассоциаций такой команды будет сброшены защитой системы:

assoc .pdf=MSEdgePDF
ftype MSEdgePDF="C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" -- "%1"

Файловые ассоциации в реестре Windows

Настройки файловых ассоциация хранятся в реестре Windows. В предыдущей секции мы показали, как настроить ассоциацию .pdf файла с Acrobat Reader через XML файл и групповую политику. Теперь посмотрим, как это выглядит в реестре.

Запустите редактор regedit.exe и перейдите в ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice .

В ветке с настройками ассоциации для расширения PDF есть два параметра:

  • ProgId – текстовый идентификатор зарегистрированной программы для открытия этого типа файлов. Если вместо имени приложения указан длинный идентификатор, значит назначена ассоциация файла с приложением Microsoft Store.
  • Hash – хеш-сумма, который генерируется автоматически для валидации настройки сопоставления типа файлов с программой (рассчитывается на основе SID пользователя, расширения файла, значения ProgId и системного ключа). Наличие этого хэша, гарантирует, что именно пользователь или администратор (через GPO) настроил данное сопоставление. Этот механизм нужен для защиты пользователей от вредоносных программ, которые могут подменить ассоциации файлов без его ведома.

progid и hash в реестре для ассоциаций программ с файлами

Если вы попробуете руками изменить значение ProgId и назначить другую программу, значение Hash перестанет быть валидным. В этом случае Windows автоматически сбросит настройки ассоциации файла к значению по-умолчанию и пользователь увидит уведомление:

Стандартное приложение сброшено.
Приложение вызвало проблемы с настройкой стандартного приложения для файлов .html, поэтому оно сброшено для Microsoft Edge.
An app default was reset.
An app caused a problem with the default app setting for .html files, so it was reset to Microsoft Edge.

windows 10 Стандартное приложение сброшено, сброс сопоставления между программой и файлом

Соответственно, в Windows 10 и 11 нельзя настроить сопоставление файлов через реестр, как это работало в Windows 7.

Кроме ACL, значения в этой ветке реестра в Windows 11 защищены специальным драйвером UCPD.

Защита от смены файловых ассоциаций в Windows 11 (User Choice Protection Driver)

В 2024 году в Windows 10 и 11 был добавлен специальный драйвер User Choice Protection Driver (UCPD), работающий на уровне ядра, который предназначен для блокировки прямого изменения ключей реестра, отвечающий за ассоциации файлов и протоколов по-умолчанию. В частности, защита от изменения работает для HTTP и HTTPS протоколов, и PDF файлов.

Например, при попытке вручную изменить значение в разделе реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice , появится ошибка.

Изменить эти ассоциации можно только через системные настройки Windows (приложение Settings) или GPO.

Драйвер User Choice Protection Driver в win 11 защищает ассоциации файлов от изменения сторонними программами

Задача UCPD драйвера — запретить любому стороннему софту менять ассоциации определённых типов файлов с установленными программами без ведома пользователя. Также предполагается, что это должно предотвратить войну за назначение браузера по умолчанию в системе, если пользователь установил несколько альтернативных браузеров.

Изменить ассоциации файлов по умолчанию в Windows 11 с помощью SetUserFTA

Для программной настройки пользовательских ассоциаций файлов в Windows можно использовать стороннюю консольную утилиту SetUserFTA (https://setuserfta.com). Утилита прописывает значение назначенной ProgID напрямую в реестр и сразу обновляет значение хэш-суммы.

Список текущих ассоциаций и заданных для них progid в Windows можно вывести так:

SetUserFTA get

setuserfta утилита для настройки ассоциаций файлов

Найти ProgID назначенное программы можно командой:

setuserfta.exe get | findstr /I "pdf"

setuserfta get получить progid

Например, чтобы задать PaintDotNet++ в качестве приложения по умолчанию для открытия графических BMP файлов:

SetUserFTA .bmp paintdotnet

Или задать PDF приложение по-умолчанию:

SetUserFTA.exe .pdf Acrobat.Document.DC

Утилита корректно обновила значение Progid и хеш-сумму для этого типа файлов в реестре.

Утилита SetUserFTA обновляет хэш и progid в реестре

Например, назначить Chrome браузером по-умолчанию:

SetUserFTA  http ChromeHTML
SetUserFTA  https ChromeHTML
SetUserFTA  .htm ChromeHTML
SetUserFTA  .html ChromeHTML

Драйвер UCPD в Windows 11 25H2 блокирует назначение другого браузер по-умолчанию через утилиту SetUserFTA. Поэтому, если вы хотите програмно назначить браузер для пользователя, сначала нужно отключить драйвер (UCPD):

sc.exe config UCPD start= disabled

schtasks.exe /change /Disable /TN "\Microsoft\Windows\AppxDeploymentClient\UCPD velocity"

После этого нужно перезагрузить компьютер.

Если для приложения не создан класс файлов или Progid, можно указать его исполняемый файл. Например:

SetUserFTA .txt applications\notepad++.exe

Это возможно для приложений, зарегистрированных в ветке реестра \HKEY_CLASSES_ROOT\Applications .

Утилита SetUserFTA поддерживает использование конфигурационных файлов. Если вам нужно задать сразу несколько файловых ассоциаций, создайте текстовый файл fta.cfg следующего вида:

.bmp, paintdotnet
.pdf, Acrobat.Document.DC
.txt, applications\notepad++.exe

Чтобы применить ассоциации из конфиг файла, выполните:

.\SetUserFTA.exe .\fta.cfg

SetUserFTA применить ассоциации из конфиг файла

Утилита SetUserFTA при каждом 10 запуске показывает уведомление об использовании бесплатной версии. Счетчик запусков хранится в параметре RunCount в ветке реестра HKEY_CURRENT_USER\Software\Kolbicz IT\SetUserFTA . Чтобы не показывать уведомления, зафиксируете текущее значение параметре (не буду подсказывать как 🙂 ).

SetUserFTA появляется предупреждение при кажджом 10 запуске

Сброс всех ассоциаций файлов в Windows

С помощью следующей команды можно сбросить импортированные ранее настройки ассоциаций файлов в Windows:

Dism.exe /Online /Remove-DefaultAppAssociations

После выполнения данной команды, все новые пользователи системы будут загружаться со стандартными настройками ассоциаций (на имеющиеся профили пользователей системы такой сброс не действует).

Чтобы сбросить ассоциации файлов, настроенные пользователем вручную, нужно в панели Параметры -> Система -> Приложения по умолчанию (Default Apps) нажать на кнопку Сброс (Reset).

wiindows 11 сбросить ассоциации файлов

При этом все ассоциации файлов вернутся к состоянию чистой Windows 11.


Предыдущая статья Следующая статья


Комментариев: 25 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)