Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows PowerShell이란 무엇인가? 최신 버전 업그레이드의 기능과 장점

Windows 10에는 Windows PowerShell 5.0이 기본 탑재되어 있으며, 현재 최신 버전은 PowerShell 7.0입니다. Windows 8.1에는 Windows PowerShell 4.0이 설치되어 제공됩니다. 새 버전은 언어를 더 단순하고 사용하기 쉽게 만들고, 흔히 발생하는 오류를 방지하도록 설계된 다양한 신규 기능을 갖추고 있습니다. Windows 운영체제에서 이전 버전의 PowerShell을 사용 중이라면 최신 버전으로 마이그레이션했을 때 많은 이점을 누릴 수 있습니다. 시스템 관리자가 Windows Server OS의 모든 측면을 관리할 수 있을 뿐만 아니라 SQL, Exchange, Lync 기반 서버에 대한 제어까지 가능합니다.

Windows PowerShell이란?

PowerShell은 명령줄 셸(command-line shell)이자 스크립팅 언어입니다. PowerShell을 활용하면 스크립트 자동화, 대량 명령 일괄 실행, 클라우드 리소스 제어 등 다양한 작업을 수행할 수 있습니다. 최근에는 Linux, macOS, Windows에서 모두 동작하는 PowerShell Core도 출시되어 활용 범위가 더욱 넓어졌습니다.

더 자세한 내용이 필요하다면 microsoft.com에서 제공하는 Introduction to PowerShell 문서를 참고하는 것도 좋은 학습 방법입니다.

현재 실행 중인 PowerShell 버전 확인 방법

사용 중인 PowerShell 버전을 확인하려면 다음 절차를 따르세요.

Windows PowerShell이란 무엇인가? 최신 버전 업그레이드의 기능과 장점

PowerShell 창을 연 뒤 아래 명령 중 아무거나 하나 입력하고 Enter 키를 누릅니다.

get-host|Select-Object version
$psversiontable
$host.version
  • Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 SP2, Windows 8, Windows 7 SP1 사용자는 Windows PowerShell 3.0을 사용할 수 있습니다.
  • Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows 8.1, Windows 7 SP1 사용자는 Windows PowerShell 4.0을 사용할 수 있습니다.
  • Windows 10에는 Windows PowerShell 5.0이 기본 포함되어 있습니다.

Windows PowerShell의 주요 기능

Windows PowerShell 3.0에서 도입된 새로운 기능은 다음과 같습니다.

  • Windows PowerShell 워크플로(Workflow)
  • CIM cmdlet
  • Cmdlets over Objects(CDXML)
  • Windows PowerShell Web Access
  • 모듈 자동 로딩
  • 업데이트 가능한 도움말(Updatable Help)
  • 강력한 세션 및 연결 해제 세션 지원
  • 예약 작업(Scheduled Jobs)

Windows PowerShell 4.0에서 추가된 기능은 다음과 같습니다.

  • DSC(Desired State Configuration)
  • Windows PowerShell Web Access 개선
  • 워크플로 기능 향상
  • Windows PowerShell Web Services 신규 기능
  • Save-Help cmdlet

Windows PowerShell 5.0(Windows 10에 포함)의 주요 기능은 다음과 같습니다.

  • 클래스 정의 지원
  • DSC 기능 향상
  • 모든 호스트에서 전사본(Transcription) 지원
  • PowerShell 작업(Job) 디버깅을 포함한 디버깅 기능 대폭 강화
  • 네트워크 스위치 모듈
  • 소프트웨어 패키지 관리용 OneGet
  • OneGet을 통해 PowerShell 모듈을 관리하는 PowerShellGet
  • COM 객체 사용 시 성능 향상

Windows PowerShell 6.0은 Windows, macOS, Linux를 지원하는 크로스 플랫폼 오픈소스 버전으로, 이기종 환경과 하이브리드 클라우드를 위해 설계되었습니다.

  • .NET Framework에서 .NET Core로 전환
  • .NET Core 2.0을 런타임으로 사용
  • PowerShell Core가 여러 플랫폼(Windows, macOS, Linux)에서 동작 가능
  • .NET Core와 .NET Framework가 공유하는 API는 .NET Standard의 일부로 정의

Windows PowerShell 7.0에는 다음과 같은 다양한 신규 기능이 포함되어 있습니다.

  • 파이프라인 병렬 처리(Pipeline Parallelization)
  • 새로운 연산자 추가
  • ConciseView 및 Get-Error cmdlet
  • 새 버전 자동 알림
  • PowerShell 7에서 DSC 리소스 직접 호출
  • 호환성 계층(Compatibility Layer)

TechNet 라이브러리에서는 이러한 기능들을 상세하게 설명하고 있습니다. 그중 핵심적인 기능 몇 가지를 간단히 살펴보겠습니다.

Windows PowerShell 워크플로: Windows Workflow Foundation의 강력한 기능을 PowerShell에서 그대로 활용할 수 있습니다. XAML 또는 PowerShell 언어로 워크플로를 작성하고, cmdlet을 실행하듯 손쉽게 실행할 수 있습니다.

기존 핵심 Cmdlet 및 공급자 개선: PowerShell 3.0은 단순화된 구문과 함께 Computer cmdlet, CSV cmdlet, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, 보안 cmdlet, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member 등 기존 cmdlet에 새로운 매개변수를 추가했습니다.

원격 모듈 가져오기 및 검색: PowerShell 3.0은 원격 컴퓨터에서의 모듈 검색·가져오기 및 암시적 원격(implicit remoting) 기능을 확장했습니다.

모듈 Cmdlet: PowerShell 원격 기능을 사용해 원격 컴퓨터에 있는 모듈을 로컬 컴퓨터로 가져올 수 있습니다.

새로운 CIM 세션 지원: CIM과 WMI를 활용해 비(非)Windows 컴퓨터까지 관리할 수 있으며, 원격 컴퓨터에서 암시적으로 실행되는 명령을 로컬로 가져와 사용할 수 있습니다.

자동 완성 기능: 입력 시간을 크게 절약하고 오타 발생을 줄여줍니다.

PowerShell 3.0 IntelliSense: 잘못된 부분을 빨간색 밑줄로 표시하고, 물결선 위에 마우스를 올리면 수정 제안을 보여줍니다.

Update-Help cmdlet: 기본 제공 문서에 있는 사소한 오류나 성가신 오타를 해결해 줍니다.

향상된 콘솔 호스트 환경: PowerShell 3.0부터 콘솔 호스트 프로그램의 개선 사항이 기본 적용됩니다. 또한 파일 탐색기의 새로운 'PowerShell로 실행' 옵션을 사용하면 우클릭 한 번으로 제한 없는 세션에서 스크립트를 바로 실행할 수 있습니다.

RunAs 및 공유 호스트 지원: PowerShell 워크플로를 위해 설계된 RunAs 기능은 세션 구성 사용자가 공유 사용자 계정의 권한으로 실행되는 세션을 만들 수 있게 해 줍니다. SharedHost 기능은 여러 컴퓨터의 여러 사용자가 동시에 워크플로 세션에 접속해 진행 상황을 면밀히 추적할 수 있도록 지원합니다.

특수 문자 처리 개선: PowerShell 3.0은 특수 문자 해석 및 처리 능력이 크게 향상되었습니다. 경로 내 특수 문자를 처리하는 LiteralPath 매개변수는 Path 매개변수를 가진 거의 모든 cmdlet에서 유효하며, 새로운 Update-Help와 Save-Help cmdlet에도 적용됩니다.

PowerShell을 활용하면 Windows 서비스 목록 생성, 비활성화된 기능 목록 조회, 디바이스 드라이버 내보내기 및 백업, 시스템 가동 시간 확인, Windows Defender 정의 업데이트, 드라이브 목록 조회, 설치된 드라이버 목록 확인, Windows 스토어 앱 제거, 데스크톱 컨텍스트 메뉴 항목 추가, 시스템 이미지 생성, 파일 다운로드 등 실무에 유용한 다양한 작업을 손쉽게 수행할 수 있습니다.

Windows PowerShell이란 무엇인가? 최신 버전 업그레이드의 기능과 장점