공부하면서 남기는 기록이며 정확하지 않을 수 있음
PowerShell 이란? (파워셸)
- CLI(Command Line Interface) 환경에서 인프라 자원 및 서비스 등을 관리할 수 있는 스크립트 도구
- 여러가지 정보를 일괄 취득하거나 특정 작업을 자동화 할 수 있는 도구
- Windows 환경에서 시작됐지만, 현재는 여러 OS에서 사용 가능
- GUI 환경에서 확인할 수 없는 정보들을 확인할 수 있음
PowerShell 시작 방법
PowerShell은 기본적으로 Windows 내에서 2가지 형태로 실행할 수 있으며, 사용 목적에 맞게 활용할 수 있다.
PS(PowerShell) 스크립트 작성 시, 편리한 도구들 별도로 활용 가능 (e.g. visual studio code)
1. PowerShell
- 명령어 한 줄 입력 시 (단순 정보 확인 등)
2. 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. [-옵션이름] 값
: 옵션이름에만 대괄호가 있는 경우
: 필수 옵션이며, 반드시 사용 필요
기본 구조는 여기까지
댓글