이 글에서는 Windows 10 및 Windows Server 2019/2016/2012R2에서 기본 파일 연결을 관리하는 방법을 살펴봅니다. 예시로 HTML 파일을 열 때 사용할 기본 브라우저를 지정하고, 이 설정을 XML 파일로 내보낸 뒤, 수동 또는 그룹 정책(GPO)을 사용해 다른 컴퓨터에 파일 연결 설정을 배포하는 과정까지 다룹니다.
Windows 10의 가장 큰 변화는 더 이상 레지스트리나 그룹 정책 기본 설정(GPP)의 "연결 프로그램" 기능으로 파일 연결을 직접 관리할 수 없다는 점입니다. 대신 새롭게 도입된 방식은 "기준(reference)" 컴퓨터에서 현재 파일 연결 설정을 XML 파일로 내보내고, 이 파일을 다른 컴퓨터에 적용하는 것입니다. 또한 구성된 파일 연결을 Windows 이미지에 통합하여 네트워크 클라이언트에 배포(수동, WDS 또는 SCCM)할 수도 있습니다.
Windows 10에서 기본 앱을 설정하거나 변경하는 방법
예를 들어 도메인의 모든 컴퓨터에서 .HTML 파일을 Firefox 브라우저로 열도록 하고 싶다고 가정해 보겠습니다. 즉, 해당 확장자를 특정 앱과 연결하는 작업입니다.
이를 위해서는 Firefox가 설치된 Windows 10 기준 컴퓨터가 필요합니다(이 예제에서는 빌드 1909 기준). 수동으로 파일 확장자와 프로그램을 매핑하려면 설정 → 기본 앱으로 이동한 후 "파일 형식별로 기본 앱 선택" 버튼을 클릭합니다.

파일 확장자 목록에서 .HTML 항목을 찾은 후 "기본값 선택" 버튼을 눌러 HTML 파일을 여는 기본 프로그램을 Microsoft Edge에서 Firefox로 변경합니다.

반대로 특정 앱에 등록된 파일 확장자를 한 번에 할당할 수도 있습니다. 기본 앱 화면에서 앱별로 기본값 설정을 선택하고 목록에서 해당 프로그램을 찾아 관리 버튼을 클릭하면 됩니다.

다음 화면에는 해당 애플리케이션이 지원하는 파일 형식 목록이 표시됩니다. Firefox로 열고 싶은 파일 확장자를 선택하세요.

구버전 Windows 10 빌드나 Windows Server 2016에서는 제어판을 통해서도 기본 앱 연결을 지정할 수 있습니다. 제어판 → 기본 프로그램 → 기본 프로그램 설정으로 이동하여 목록에서 Firefox를 찾고 "이 프로그램을 기본값으로 설정"을 클릭하면, Firefox가 지원하는 모든 파일 형식의 기본 프로그램으로 지정됩니다.

특정 확장자만 선택하고 싶다면 이 프로그램의 기본값 선택을 클릭한 후 원하는 파일 확장자에 체크하면 됩니다.

.html 확장자의 현재 연결 상태는 제어판의 프로그램 → 기본 프로그램 → 연결 설정에서 확인할 수 있습니다.

Windows 10 파일 연결을 XML 파일로 내보내기
DISM 도구를 사용하면 현재 구성된 파일 연결 설정을 XML 파일로 내보낼 수 있습니다.
Dism.exe /online /Export-DefaultAppAssociations:C:\PS\DefaultAssoc.xml
이 명령은 현재 사용자 프로필에 구성된 모든 프로그램 연결 정보를 XML 파일로 저장합니다. 생성된 DefaultAssoc.xml 파일을 텍스트 편집기로 열면 내보내진 전체 파일 연결 목록을 확인할 수 있습니다. 기존 사용자 설정을 덮어쓰지 않으려면 목록 중 필요한 일부 연결만 사용하도록 XML 파일을 수동으로 편집할 수 있습니다. 필요한 파일 확장자 줄만 남기고 나머지는 삭제하면 됩니다. 예를 들어 HTM과 HTML 확장자에 대해 다음 줄만 남깁니다.
<?xml version="1.0″ encoding="UTF-8″?> <DefaultAssociations> <Association Identifier=".htm" ProgId="FirefoxHTML" ApplicationName="Firefox" /> <Association Identifier=".html" ProgId="FirefoxHTML" ApplicationName="Firefox" /> </DefaultAssociations>

Windows 10에 기본 앱 연결 가져오기
생성된 XML 파일은 DISM 도구를 사용해 다른 Windows 10 컴퓨터로 가져올 수 있습니다.
Dism.exe /Online /Import-DefaultAppAssociations:C:\PS\DefaultAssoc.xml
중요: 이렇게 가져온 파일 확장자와 앱의 매핑 설정은 새 사용자 프로필에 대해 최초 로그온 시에만 적용됩니다.
XML 파일을 수동으로 편집한 후 DISM으로 가져오면, 일부 Windows 10 빌드에서 최초 로그온 시 "앱 기본값 초기화 알림" 오류가 여러 번 나타날 수 있습니다. Microsoft는 이 XML 파일의 수동 편집을 권장하지 않습니다.
또한 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
그룹 정책(GPO)으로 기본 파일 연결 설정하기
Windows 10/8.1부터는 XML 파일에 담긴 파일 연결 설정을 컴퓨터의 모든 현재 사용자에게 적용할 수 있는 새로운 그룹 정책 옵션이 도입되었습니다.
이 정책은 기본 연결 구성 파일 설정(Set a default associations configuration file)이라는 이름으로, 컴퓨터 구성 → 관리 템플릿 → Windows 구성 요소 → 파일 탐색기 경로에 위치합니다.

정책을 사용으로 설정하고 XML 파일의 UNC 경로를 지정합니다. 이 파일은 공유 네트워크 폴더, 도메인 컨트롤러의 SYSVOL 디렉터리에 두거나, GPP 또는 SCCM을 통해 사전에 각 컴퓨터로 복사해 둘 수 있습니다.

새로운 파일 연결 설정은 다음 로그온 시점부터 해당 컴퓨터의 모든 사용자에게 적용됩니다.
새 파일 연결 설정이 담긴 XML 파일의 경로는 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System 아래의 DefaultAssociationsConfiguration 값에 저장됩니다. 
Windows 10은 파일 연결 설정 변경 사항을 추적하기 때문에, 처음 HTML 파일을 열려고 시도하면 Firefox가 해당 파일 형식의 기본 프로그램으로 사용되는지 확인하는 창이 나타날 수 있습니다(이 요청은 한 번만 표시됨). 새 앱을 설치했는데 기존 파일 형식이나 프로토콜을 처리하도록 등록된 경우에도 항상 이런 요청이 나타납니다. 동일한 GPO 섹션에서 "'새 응용 프로그램 설치됨' 알림 표시 안 함" 정책을 활성화하면 이러한 알림을 숨길 수 있습니다.
사용자가 Windows에서 이 파일 연결을 재설정할 수도 있지만, 다음 로그온 시 GPO에 의해 XML 파일의 설정으로 다시 덮어써집니다.
레지스트리를 통한 Windows 10 파일 연결 변경
앞서 언급했듯이 Windows 10에서는 파일 연결 설정 방식이 바뀌었습니다. 이전 섹션에서는 XML 파일과 그룹 정책을 통해 .html 파일 형식을 Firefox 브라우저와 연결하는 방법을 살펴봤습니다. 이제 Windows 10 레지스트리에서 이것이 어떻게 표현되는지 알아보겠습니다.
레지스트리 편집기(regedit.exe)를 실행하고 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice 키로 이동합니다. 이 키에는 html 파일 확장자에 대한 연결 설정이 포함되어 있으며, 다음 레지스트리 값을 주목해야 합니다.
- ProgId – 해당 파일 형식을 여는 데 등록된 앱의 식별자입니다. 이 앱 이름은 XML 파일에 지정됩니다. 앱 이름 대신 긴 식별자가 지정되어 있다면 최신 UWP(메트로 스타일) 앱과의 파일 연결이 구성된 것입니다.
- Hash – 파일 형식과 프로그램의 일치 여부를 검증하기 위해 자동 생성되는 해시 값입니다. 이 해시가 존재한다는 것은 사용자 또는 관리자(GPO를 통해)가 해당 파일 매핑을 구성했다는 것을 보장합니다. 이 보안 메커니즘은 사용자의 승인 없이 파일 연결을 임의로 교체하는 악성 프로그램으로부터 사용자를 보호하기 위해 필요합니다.

ProgId 레지스트리 값을 수동으로 변경해 다른 프로그램과 연결하려고 하면 Hash 값이 더 이상 유효하지 않게 됩니다. 이 경우 Windows 10은 자동으로 파일 연결 설정을 기본 상태로 되돌리며, 사용자에게 다음과 같은 알림이 표시됩니다.
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 Server 2016에서는 Windows 7/Windows Server 2008R2처럼 레지스트리를 통해 파일 매핑을 구성할 수 없습니다.
웹에서 비공식 도구인 SetUserFTA.exe를 찾을 수 있는데, 이 도구는 해시를 계산하여 레지스트리를 통해 특정 파일 확장자를 프로그램에 매핑할 수 있게 해줍니다.
Windows 10에서 파일 연결을 초기화하는 방법
다음 명령을 사용하면 이전에 가져온 파일 연결 설정을 초기화할 수 있습니다.
Dism.exe /Online /Remove-DefaultAppAssociations
이 명령을 실행하면 이후 로그온하는 모든 신규 사용자에게 기본 파일 연결이 적용됩니다(기존 사용자 프로필에는 영향을 주지 않음).
사용자가 수동으로 구성한 파일 연결을 기본값으로 되돌리려면 설정 → 앱 → 기본 앱에서 초기화 버튼을 클릭하면 됩니다.

이 경우 모든 파일 연결이 Windows 10을 새로 설치한 상태로 돌아갑니다.