PowerShell

PowerShell은 Microsoft가 개발한 명령 셸·스크립트 언어이자 관리 자동화 플랫폼이다. 2006년 Windows PowerShell 1.0으로 시작했으며 전통적인 텍스트 명령 파이프라인 대신 .NET 객체를 전달하는 파이프라인과 Cmdlet, 원격 관리 기능을 제공한다. W...

분류명령 셸·객체 기반 스크립트·자동화 플랫폼
개발사Microsoft 및 오픈 소스 공동체
최초 버전Windows PowerShell 1.0 (2006년)
주요 언어PowerShell 스크립트 언어
객체 모델.NET 객체 파이프라인
핵심 구성Cmdlet·함수·모듈·Provider
Windows 전통판Windows PowerShell 5.1(.NET Framework 기반)
현재 계열PowerShell 7.x(.NET 기반, 크로스 플랫폼)
운영체제Windows·Linux·macOS 등
대화식 인터페이스콘솔·Windows Terminal·IDE
원격 실행PowerShell Remoting·SSH
소스 라이선스MIT(오픈 소스 PowerShell 계열)
공식 문서Microsoft Learn: PowerShell
소스PowerShell/PowerShell

PowerShell은 Microsoft가 개발한 명령 셸·스크립트 언어이자 관리 자동화 플랫폼이다. 2006년 Windows PowerShell 1.0으로 시작했으며 전통적인 텍스트 명령 파이프라인 대신 .NET 객체를 전달하는 파이프라인과 Cmdlet, 원격 관리 기능을 제공한다. Windows PowerShell 5.1은 .NET Framework에 기반한 Windows 전용 계열인 반면 현대 PowerShell 7.x는 .NET을 기반으로 Windows·Linux·macOS에서 실행하는 공개 소스 프로젝트다.[1]

PowerShell 명령은 Get-Process·Get-Service 등 동사-명사 형식의 Cmdlet을 사용하는 일이 많다. 파이프라인을 통해 객체의 속성과 메서드를 다른 명령으로 전달할 수 있으며 필터링·정렬과 CSV·JSON 직렬화를 제공한다. 문자열 중심의 Bash 파이프라인과 비교해 객체·타입이 핵심적이지만 외부 네이티브 프로그램을 실행하거나 텍스트 입출력을 처리하는 기능도 제공한다.

PowerShell은 Windows 레지스트리와 파일 시스템·인증서 저장소 등을 Provider라는 인터페이스로 추상화하여 유사한 탐색 명령을 사용할 수 있도록 한다. 기업 관리에서는 Active Directory와 Windows Update·서비스·클라우드 및 M365 관리 명령이 모듈 형태로 제공된다. 원격 실행과 자동화 스크립트의 보안은 실행 정책만으로 보장되지 않으며 인증·권한과 신뢰할 수 있는 입력, 스크립트 서명·감사를 함께 고려해야 한다.

Windows PowerShell과 공개 소스 PowerShell 7은 언어·Cmdlet의 상당 부분이 비슷하지만 .NET 런타임과 제공 모듈·호환 API가 다르다. PowerShell 7의 주요 코드는 MIT License로 공개된다. PowerShell은 운영체제 자체도, 터미널 에뮬레이터인 Windows Terminal도 아니며 Windows와 여러 플랫폼에서 명령을 해석·실행하는 셸 및 자동화 엔진이다.[2]

역사

개발 배경과 용도

내부 구성과 주요 기능

개발·실행 환경

명령·도구와 설정

OS·버전별 호환성

라이선스·공급 방식

사용 사례

관련 문서

  1. Microsoft Learn: PowerShell overview ↩
  2. PowerShell source and licensing ↩