본문 바로가기
IT Knowledge/PowerShell

PowerShell 시작하기 (PowerShell 이란? PowerShell 구조)

2023. 4. 27.

공부하면서 남기는 기록이며 정확하지 않을 수 있음

 

PowerShell 이란? (파워셸)


- CLI(Command Line Interface) 환경에서 인프라 자원 및 서비스 등을 관리할 수 있는 스크립트 도구

- 여러가지 정보를 일괄 취득하거나 특정 작업을 자동화 할 수 있는 도구

- Windows 환경에서 시작됐지만, 현재는 여러 OS에서 사용 가능

- GUI 환경에서 확인할 수 없는 정보들을 확인할 수 있음

 

PowerShell (파워셸)

 

 

PowerShell 시작 방법


PowerShell은 기본적으로 Windows 내에서 2가지 형태로 실행할 수 있으며, 사용 목적에 맞게 활용할 수 있다.

PS(PowerShell) 스크립트 작성 시, 편리한 도구들 별도로 활용 가능 (e.g. visual studio code)

 

1. PowerShell

- 명령어 한 줄 입력 시 (단순 정보 확인 등)

 

PowerShell (파워셸)

 

2. PowerShell ISE

- 명령어 여러 줄을 활용한 스크립트 작성 시 (작업 자동화 등)

PowerShell ISE

 

 

PowerShell 명령어 구조


PowerShell 내의 명령어들은 cmdlet(커맨드랫) 이라고 하며 아래와 같이 간단한 구조로 되어 있어 알아보기 쉽다.

 

동사-명사 (Verb-Noun)

예시)

Stop-Computer

Start-Service

Set-Timezone

Get-Computerinfo

 

명령어 뒤에 선택적으로 옵션을 추가할 수 있으며, 명령어에 따라 필수로 옵션을 사용하는 경우도 있다. (-옵션이름 )

 

예시) Domain 내, 계정 정보 확인

 

옵션 없이 명령어를 실행한 경우: 추가 정보를 요청 함

 

옵션 포함 명령어를 실행한 경우: 

 

 

 

반응형

 

 

 

PowerShell 명령어 종류 확인 방법


cmdlet 수는 엄청 많기 때문에 하나하나 외울 수 없다. 필요할 때마다 사용 가능한 명령어들이 어떤 것들이 있고 어떻게 사용하는지 확인한다.

 

Get-Command
Get-Command -Name <string[]>
Get-Command -Verb <string[]> -Noun <string[]>

 

예시)

 

Get-Command

: 약 2800개의 cmdlet 확인, 필요한 정보를 찾기에 어려울 수 있다.

 

Get-Command -Name *Computer*

: 구문 중에 'Computer'가 포함되는 모든 명령어가 표시된다.

 

Get-Command -Verb *get* -Noun *computer*

: 구문 중에 동사에 'Get'을 포함하며 명사에 'Computer'를 포함하는 모든 명령어가 표시된다.

 

 

 

 

 

PowerShell 명령어 사용 방법 확인


적절한 cmdlet을 찾았다면 실제 사용 구문 및 예시를 확인할 수 있다.

 

Get-Help
Get-Help <cmdlet-name>
Get-Help <cmdlet-name> [-examples|-full|-online]

 

예시)

Get-Help Get-Computerinfo

: 개요 및 사용 방법(구문)에 대해 간략히 설명을 볼 수 있다.

 

Get-Help Get-Computerinfo [-Examples | -Full | -Online]

-Examples : 사용 예시에 대해 볼 수 있다.

-Full : 자세한 설명을 볼 수 있다.

-Online : 온라인을 통해 설명을 볼 수 있다. (MS 공식 문서)

 

 

 

 

 

 

PowerShell 명령어 필수 옵션


cmdlet 사용 시, 옵션 값이 필수인 경우가 있다. 아래는 'Get-ADUSer' cmdlet을 온라인으로 확인 했을 때의 구문 설명이다.

 

 

위 구문 설명에 표기된 형태에 따라 두가지 형태로 볼 수 있다.

 

1. [-옵션이름 ]

: 옵션이름과  값이 대괄호 안에 같이 묶여 있는 경우

: 필수 옵션은 아니며, 상세한 정의를 위해 추가 사용 가능

 

2. [-옵션이름]

: 옵션이름에만 대괄호가 있는 경우

: 필수 옵션이며, 반드시 사용 필요

 

 

 


기본 구조는 여기까지

 

 

 

반응형

댓글