파워셸

파워셸() 또는 윈도우 파워셸은 마이크로소프트가 개발한, 확장 가능한 명령 줄 인터페이스(CLI) 셸 및 스크립트 언어를 특징으로 하는 명령어 인터프리터이다. 원래는 '윈도우 파워셸(Windows PowerShell)'로 윈도우 구성요소를 중심으로 개발하였으나 파워셸 코어(PowerShell Core)를 도입하고 2016년 8월 18일에 오픈 소스를 공개하여 각종 운영 체제에서 쓰일 수 있게 하였다. 윈도우 버전은 닷넷 프레임워크 기반으로 그 외 운영체제 버전은 닷넷 코어 기반으로 출시되었다.

파워셸에서 관리 작업은 일반적으로 특정 작업을 구현하는 특수화된 닷넷 클래스인 cmdlet(command-lets로 발음)을 통해 실행된다. 이러한 기능은 공급자를 통해 파워셸에 제공되는 파일 시스템이나 레지스트리와 같은 다른 데이터 저장소의 데이터에 액세스하여 작동된다. 타 개발자는 cmdlet 및 공급자를 파워셸에 추가할 수 있다. cmdlet은 스크립트에서 사용할 수 있으며 스크립트는 모듈로 패키지화 할 수 있게 된다.

파워셸은 COM 및 WMI에 대한 완전한 액세스를 제공하므로 관리자는 원격 리눅스 시스템 및 네트워크 장치를 관리할 수 있도록 WS-Management 및 CIM뿐만 아니라 로컬 및 원격 Windows 시스템에서 모두 관리 작업을 실행시킬 수 있다. 파워셸은 파워셸 런타임을 다른 응용 프로그램에 포함 할 수 있는 호스팅 API도 제공하고 그런 다음 이러한 응용 프로그램은 파워셸 기능을 사용하여 그래픽 인터페이스를 통해 노출된 작업을 포함하여 특정 작업을 구현할 수 있다. 이러한 기능은 마이크로소프트 SQL 서버 2007 버전에서 파워셸 cmdlet 및 공급자로 관리 기능을 노출하고 필요한 cmdlet을 호출하는 파워셸 호스트로 그래픽 관리 도구를 구현하는 데 사용해왔던 것이다. 현재는 마이크로소프트 SQL 서버 2008을 시작으로 각종 MS 응용 프로그램도 파워셸 cmdlet을 통해 관리 인터페이스를 제공한다.

파워셸에는 Get-Help cmdlet 명령어로 통해 액세스 할 수 있는 광범위한 콘솔 기반 도움말(유닉스 셸의 man page와 유사)을 볼 수 있다.(혹은 Get-Help로 온라인 전환을 통해 사례 별로 웹 도움말을 볼 수 있음)

예제 
다음 예제는 'string' 문자열 중간에 'ABC'를 삽입한다.
PS > 'string'.Insert(1, 'ABC')
sABCtring
다음은 닷넷 객체의 정적 메소드를 호출하는 예이다.
PS > [System.Math]::Sqrt(16)
4
다음 예제는 특정 RSS 피드에서 최근 8개의 항목의 제목을 출력한다.
PS > $x = new-object xml
PS > $x.load('http://blogs.msdn.com/powershell/rss.aspx')
PS > $x.rss.channel.item | select title -f 8

비슷한 명령어들과 cmdlet 비교 
파워셸에 들어간 cmdlet과 잘 알려진 명령 줄 인터프리터의 비슷한 명령어를 아래의 표로 나열해 놓았다.

리눅스

같이 보기 
 일반 정보 모델 (컴퓨팅)
 프로그래밍 언어의 비교
 윈도우 스크립트 호스트
 윈도우 터미널

각주

외부 링크 

 
 
 Windows PowerShell Survival Guide on TechNet Wiki

닷넷 프레임워크
객체 지향 프로그래밍 언어
스크립트 언어
2006년 개발된 프로그래밍 언어
절차적 프로그래밍 언어
윈도우 관리
윈도우 명령어
닷넷 프로그래밍 언어
셸
동적 타입 프로그래밍 언어
텍스트 지향 프로그래밍 언어
마이크로소프트의 프로그래밍 언어