다음을 통해 공유


Unblock-File

인터넷에서 다운로드한 파일의 차단을 해제합니다.

구문

Unblock-File
       [-Path] <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Unblock-File
       -LiteralPath <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

이 cmdlet은 Windows 및 macOS 플랫폼에서만 작동합니다.

cmdlet을 Unblock-File 사용하면 인터넷에서 다운로드한 파일을 열 수 있습니다. PowerShell 실행 정책이 RemoteSigned인 경우에도 실행할 수 있도록 인터넷에서 다운로드한 PowerShell 스크립트 파일을 차단 해제합니다. 기본적으로 이러한 파일은 신뢰할 수 없는 파일로부터 컴퓨터를 보호하도록 차단됩니다.

cmdlet을 Unblock-File 사용하기 전에 파일과 원본을 검토하고 안전하게 열 수 있는지 확인합니다.

내부적으로 cmdlet은 Unblock-File 인터넷에서 다운로드되었음을 나타내는 값 3 이 있는 Zone.Identifier 대체 데이터 스트림을 제거합니다.

PowerShell 실행 정책에 대한 자세한 내용은 about_Execution_Policies 참조하세요.

이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.

예제

예제 1: 파일 차단 해제

이 명령은 파일의 차단을 PowerShellTips.chm 해제합니다.

PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm

예제 2: 여러 파일 차단 해제

이 명령은 이름이 "PowerShell"인 디렉터리의 모든 파일을 C:\Downloads 차단 해제합니다. 모든 파일이 안전한지 확인할 때까지 이와 같은 명령을 실행하지 마세요.

PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File

예제 3: 스크립트 찾기 및 차단 해제

이 명령은 PowerShell 스크립트를 찾고 차단 해제하는 방법을 보여 줍니다.

첫 번째 명령은 Get-Item cmdlet get 파일의 Stream 매개 변수를 Zone.Identifier 스트림과 함께 사용합니다.

두 번째 명령은 실행 정책이 RemoteSigned인 PowerShell 세션에서 차단된 스크립트를 실행할 때 발생하는 작업을 보여 줍니다. RemoteSigned 정책을 사용하면 디지털 서명되지 않은 한 인터넷에서 다운로드된 스크립트를 실행할 수 없습니다.

세 번째 명령은 cmdlet을 Unblock-File 사용하여 세션에서 실행할 수 있도록 스크립트의 차단을 해제합니다.

PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
   FileName: C:\ps-test\Start-ActivityTracker.ps1

Stream                   Length
------                   ------
Zone.Identifier              26

PS C:\> C:\ps-test\Start-ActivityTracker.ps1
c:\ps-test\Start-ActivityTracker.ps1 : File c:\ps-test\Start-ActivityTracker.ps1 cannot
be loaded. The file c:\ps-test\Start-ActivityTracker.ps1 is not digitally signed. The script
will not execute on the system. For more information, see about_Execution_Policies.

At line:1 char:1
+ c:\ps-test\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LiteralPath

차단을 해제할 파일을 지정합니다. Path와 달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표(')로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

형식:String[]
별칭:PSPath, LP
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Path

차단을 해제할 파일을 지정합니다. 와일드카드 문자가 지원됩니다.

형식:String[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:True

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

이 cmdlet에 파일 경로를 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다.

참고

  • macOS에 대한 지원이 PowerShell 7에 추가되었습니다.
  • cmdlet은 Unblock-File 파일 시스템 드라이브에서만 작동합니다.
  • Unblock-File는 파일 탐색기 속성 대화 상자의 차단 해제 단추와 동일한 작업을 수행합니다.
  • 차단되지 않은 파일에서 cmdlet을 사용하는 Unblock-File 경우 이 명령은 차단 해제된 파일에 영향을 주지 않으며 cmdlet은 오류를 생성하지 않습니다.