PowerShell Script - 기초
파워셸에서 사용하는 파일 확장자의 종류
확장자 |
설명 |
.ps1 |
파워셸 스크립트 파일 |
.psm1 |
파워셸 스크립트 모듈 |
.psd1 |
모듈 메니페스트 |
.format.ps1xml |
뷰 정의 |
.ps1xml |
타입 확장을 포함한 기타 xml파일 |
.psc |
파워셸 콘솔 구성 파일 |
.pscc |
파워셸 세션 구성 파일 |
실행 정책
파워셸에서 사용하는 스크립트는 여타의 다른 종류의 스크립트와 눈에 띄는 차이점이 하나 있는데, 스크립트 하단에 전자 서명이 들어갈 수 있다/
파워셸에서 안전한 스크립트를 실행하려면 기본적으로 서명이 필요하다..
실행 정책을 다루는 데 필요한 두 가지 명령은 Get-ExecutionPolicy 와 Set-ExecutionPolicy이다.
# Get-ExecutionPolicy : 현재 파워셸 세션에서 실행 정책을 확인 PS > Get-ExecutionPolicy Unrestricted # Set-ExecutionPolicy : 원하는 실행 정책을 지정하며, -ExecutionPolicy 매개변수에서 지정한다. PS> Get-Help Set-ExecutionPolicy -Full NAME Set-ExecutionPolicy SYNTAX Set-ExecutionPolicy [-ExecutionPolicy] {Unrestricted | RemoteSigned | AllSigned | Restricted | Default | Bypass | Undefined} [[- Scope] {Process | CurrentUser | LocalMachine | UserPolicy | MachinePolicy}] [-Force] [-WhatIf] [-Confirm] [] PARAMETERS -Confirm Required? false Position? Named Accept pipeline input? false Parameter set name (All) Aliases cf Dynamic? false -ExecutionPolicy Required? true Position? 0 Accept pipeline input? true (ByValue) Parameter set name (All) Aliases None Dynamic? false -Force Required? false Position? Named Accept pipeline input? false Parameter set name (All) Aliases None Dynamic? false -Scope Required? false Position? 1 Accept pipeline input? true (ByPropertyName) Parameter set name (All) Aliases None Dynamic? false -WhatIf Required? false Position? Named Accept pipeline input? false Parameter set name (All) Aliases wi Dynamic? false This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (https://go.microsoft.com/fwlink/?LinkID=113216). INPUTS Microsoft.PowerShell.ExecutionPolicy Microsoft.PowerShell.ExecutionPolicyScope OUTPUTS System.Object ALIASES None REMARKS Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help. -- To view the Help topic for this cmdlet online, type: " get-help="" set-executionpolicy="" -online"="" or="" go="" to="" https:="" go.microsoft.com="" fwlink="" ?linkid="113394." <="" pre="">
실행 정책 |
설명 |
Restricted |
구성 파일을 로드 하거나 스크립트를 실행하지 않는다. |
AllSigned |
로컬 컴퓨터에서 작성하는 스크립트를 포함하여 모든 스크립트 및 구성 파일에 신뢰할 수 있는 게시자가 서명해야 한다. |
RemoteSigned |
인터넷에서 다운로드한 모든 스크립트 및 구성 파일에 대해 신뢰할 수 있는 게시자가 서명해야 한다. |
UnRestricted |
모든 구성 파일을 로드하고 모든 스크립트를 실행한다. 인터넷에서 다운로드한 서명되지 않은 스크립트를 실행할 경우 실행하기 전에 사용권한을 묻는 메시지가 표시된다. |
Bypass |
어떤 스크립트도 차단하지 않으며 경고나 메시지를 표시하지 않는다. |
Undefined |
현재 할당된 실행 정책을 현재 범위에서 제거한다. 이 옵션으로 그룹 정책에서 설정한 실행 정책을 제거할 수 있다. |
PS > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned