윈도우 8. 관리자 권한으로 다시 실행할 때 "파일 열기 - 보안 경고" 가 한 번 더 뜰 때: Unblock-File - PCMEISTER 기술 노트
본문 글자 크기

윈도우 8. 관리자 권한으로 다시 실행할 때 "파일 열기 - 보안 경고" 가 한 번 더 뜰 때: Unblock-File

원격 수리를 시작할 때 고객은 배치 파일 하나를 내려받아 실행합니다. 그 파일은 관리자 권한이 필요해서, 일반 권한으로 시작되면 스스로를 관리자 권한으로 다시 띄웁니다.

처음 시험해 보니 고객이 거쳐야 하는 확인 창이 생각보다 많았습니다. 내려받은 파일을 처음 열 때 한 번, 관리자 권한으로 다시 띄울 때 UAC 가 한 번. 그런데 그 사이에 이 창이 한 번 더 끼어 있었습니다.

파일 열기 - 보안 경고

인터넷에서 받은 파일에는 Zone.Identifier 라는 대체 데이터 스트림이 붙어서 “인터넷에서 왔다” 는 표시가 남습니다. 같은 파일을 RunAs 로 다시 열면 윈도우가 이 표시를 보고 보안 경고를 또 띄우는 겁니다. 고객 입장에서는 같은 파일을 두 번 허락하는 셈이죠.

다시 띄우기 직전에 그 표시를 지우면 됩니다.

Unblock-File -LiteralPath $batPath
Start-Process -FilePath $batPath -Verb RunAs

이렇게 바꾸니 처음 열 때의 확인과 UAC 하나만 남았습니다.

순서도 같이 손봤습니다. 원래는 콘솔 창을 최대화하고 안내 문구를 그린 다음에 관리자 권한인지 확인했는데, 어차피 다시 띄울 창이라 그 작업이 헛수고였습니다. 관리자 권한 확인을 맨 앞으로 옮겨서, 일반 권한 창은 아무것도 그리지 않고 바로 넘어가게 했습니다. UAC 에서 “아니요” 를 누르면 왜 관리자 권한이 필요한지 안내하고 pause 로 멈춥니다. 그냥 창이 사라지면 고객은 무슨 일이 있었는지 모르니까요.

Unblock-File 은 PowerShell 3.0 부터 있으니 Windows 10, 11 에서는 따로 준비할 게 없습니다.

윈도우 시리즈의 글

완료 글 30개 인터넷