Windows 11 의 축약된 컨텍스트 메뉴는 자주 쓰는 항목이 "추가 옵션 표시" 아래로 밀려 있다. 한 번만 필요하면 Shift 를 누른 채 오른쪽 버튼을 누르면 전체 메뉴가 나온다.
항상 클래식 메뉴를 쓰려면 특정 CLSID 의 InprocServer32 기본값을 빈 문자열로 만든다. 관리자 권한 터미널에서 한 줄이면 된다.
reg add "HKCU\Software\Classes\CLSID\{86CA1AA0-34AA-4E8B-A509-50C905BAE2A2}\InprocServer32" /f /ve
탐색기를 다시 시작하면 적용된다.
taskkill /f /im explorer.exe && start explorer.exe
되돌리려면 키를 지운다.
reg delete "HKCU\Software\Classes\CLSID\{86CA1AA0-34AA-4E8B-A509-50C905BAE2A2}" /f
HKCU 아래이므로 적용 범위는 현재 사용자다. 다른 사용자 계정에는 영향이 없다. Windows 업데이트로 초기화되는 경우가 있으므로 큰 기능 업데이트 뒤에는 다시 확인한다.
네트워크 공유나 인터넷에서 받은 파일을 열 때 "이 파일은 다른 컴퓨터에서 가져온 것일 수 있습니다" 경고가 뜬다. 이것은 파일에 붙은 Zone.Identifier 라는 대체 데이터 스트림 때문이다. 어느 영역(zone)에서 왔는지가 여기 기록된다.
Get-Content -Path .\setup.exe -Stream Zone.Identifier
속성 창 아래쪽의 차단 해제 를 체크하거나, PowerShell 로 스트림을 지운다.
Unblock-File -Path .\setup.exe
Get-ChildItem -Recurse .\downloads | Unblock-File
가장 권할 만한 방법이다. 해당 파일 서버를 로컬 인트라넷 영역에 넣으면 그 서버에서 온 파일에만 경고가 사라진다.
제어판 → 인터넷 옵션(inetcpl.cpl) → 보안 탭 → 로컬 인트라넷 → 사이트 → 고급 에서 주소를 넣는다.
\fileserver.example.local
file://192.0.2.10
레지스트리로 직접 넣을 수도 있다. 호스트 이름은 ZoneMap\Domains 아래에 도메인과 호스트 키를 만들고 file 이라는 DWORD 값을 1(로컬 인트라넷)로 둔다.
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\example.local\fileserver
file (DWORD) = 1
IP 주소는 도메인 키가 아니라 ZoneMap\Ranges 아래 Range1, Range2 같은 키에 넣는다.
모든 출처에 대해 Zone 정보 자체를 붙이지 않게 만드는 설정이다. 범위가 넓으므로 마지막 수단으로 본다.
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments
SaveZoneInformation (DWORD) = 1
| 값 | 동작 |
|---|---|
없음 또는 2 |
Zone 정보를 저장한다(기본) |
1 |
Zone 정보를 저장하지 않는다 — 경고가 사라진다 |
같은 내용을 그룹 정책으로 배포할 수 있다. Pro · Enterprise 에서 gpedit.msc → 사용자 구성 → 관리 템플릿 → Windows 구성 요소 → 첨부 파일 관리자 아래에 해당 설정이 있고, 위험 확장자를 무시할 사이트를 지정하는 항목도 여기에 있다.
Zone 정보는 "인터넷에서 온 실행 파일" 을 사람에게 알려 주는 장치다. 이것을 전체 해제하면 그 신호가 사라진다. 사내 파일 서버처럼 출처가 분명한 대상만 신뢰 영역에 넣고, 전체 해제는 격리된 작업용 PC 에서만 쓴다.
Zone 정보는 NTFS 의 대체 데이터 스트림이므로 FAT32 나 exFAT 로 옮기면 자동으로 사라진다. USB 를 거쳐 온 파일에 경고가 없는 것은 이 때문이며, 안전해진 것이 아니다.