본문 바로가기
Windows

PowerShell 버전별 주요 추가 기능과 사용 팁

by Rainbound-IT 2025. 8. 15.
반응형

목차

     

    7버전 때 아래에 정리해뒀지만 가장 큰 체감은 자동완성이라고 느껴집니다.

    inline 모드

     

    list view 모드

     

    f2로 모드를 변경할수 있습니다. 
    inline 모드에서는 오른쪽 방향키로 추가입력 가능하며 
    list view 모드에서는 위, 아래 방향키로 입력내용 선택할수 있습니다.

     

     

     

     

    1. PowerShell 7.2 (LTS) — .NET 6 기반

    • Windows Update 통합
      MSI 설치 시 USE_MU, ENABLE_MU 옵션을 통해 Microsoft Update 또는 WSUS를 통한 자동 업데이트 가능.
    • ANSI 텍스트 장식 기능
      $PSStyle 변수를 사용해 텍스트에 색상, 배경, 이탤릭 등 ANSI 스타일 적용 가능.
    • 예측형 인텔리센스 (Predictive IntelliSense)
      PSReadLine 2.1을 통해 과거 명령 기반 추천 입력 가능, 방향키로 제안 수락.
    • 리눅스 배포판 통합 설치 패키지 제공
      다양한 리눅스 환경에서 설치 과정 단순화.

    2. PowerShell 7.3 — .NET 7 기반 (Non-LTS)

    • 스크립트 블록 clean 블록 추가
      begin, process, end에 clean을 추가해 리소스 정리 자동화 가능.
    • 탭 자동완성 개선
      Predictive IntelliSense 기본 활성화, 해시테이블 스플래팅, 네트워크 경로 자동완성, 타입 추론 등 향상.
    • 에러 처리 강화
      $? 변수 정확도 향상, Out-String/Out-File 처리 개선, ErrorActionPreference 적용 강화.
    • 원격 세션 및 SSH 개선
      -Options, -ConfigurationFile 옵션 추가, 비-윈도우 플랫폼 .pssc 파일 사용 지원.
    • 웹 cmdlet 업데이트
      -HttpVersion 파라미터 추가, JSON 변환 깊이 한도 확장.
    • Windows 7 지원 중단
      .NET 7 기반으로 Windows 7에서 실행 불가.
    • Native command argument 처리 개선
      $PSNativeCommandArgumentPassing 기능으로 네이티브 명령 인자 처리 방식 개선, exit code를 에러로 처리하는 옵션 추가.

    3. PowerShell 7.4 (LTS) — .NET 8 기반

    • PSFeedbackProvider 기능 추가
      피드백 메시지 형식을 사용자 정의할 수 있는 프레임워크 제공.
    • 오프라인 파일 무시 자동 모듈 로드 기능
      오프라인 표시된 모듈 파일 건너뛰고 자동 로드.
    • PSCommandWithArgs 기능 추가
      명령과 인자를 하나의 문자열로 전달 가능.
    • 다양한 실험 기능 정식화
      PSConstrainedAuditLogging, PSNativeCommandPreserveBytePipe, PSWindowsNativeCommandArgPassing 등.
    • UTF-8 기본 웹 cmdlet 인코딩
      웹 명령 인코딩을 UTF-8로 통일하여 호환성 강화.

    4. PowerShell 7.5 — .NET 9 기반 (최신 안정 버전)

    • += 배열 연산자 성능 대폭 향상
      이전 버전 대비 배열 추가 연산 속도 개선.
    • 실험 기능 정식화
      $PSCommandNotFoundSuggestion, PSCommandWithArgs, PSModuleAutoLoadSkipOfflineFiles 등이 기본 기능으로 전환.
    • 새로운 실험 기능
      PSRedirectToVariable, PSNativeWindowsTildeExpansion, PSSerializeJSONLongEnumAsNumber 추가.
    • 성능 및 경로 처리 개선
      파일 모드 세팅, 어셈블리 경로 결합, 글로벌 PATH 처리 최적화.
    • 최신 릴리스 개선 사항
      -NoNewWindow 프로세스 처리 개선, fuzzy suggestion 제거.

     

    코드 예제

    • 7.2 예측형 탭 활성화
      Set-PSReadLineOption -PredictionSource History
       
       
    • 7.3 clean 블록 사용 예
      & {
        begin { "시작" }
        process { $_ }
        clean { "정리" }
      } -InputObject 1,2,3
    • 7.5 배열 성능 테스트
    $arr = @()
    1..10000 | ForEach-Object { $arr += $_ }

     


    요약 테이블

    버전기반 .NET 버전주요 체감 기능

     

    버전 기반.NET 버전주요 체감 기능
    7.2 (LTS) .NET 6 자동 업데이트, ANSI 스타일, 예측 탭
    7.3 .NET 7 탭 자동완성 고도화, 에러 처리, SSH 개선
    7.4 (LTS) .NET 8 UTF-8 인코딩, 피드백 프레임워크, 안정 기능 강화
    7.5 .NET 9 배열 속도 향상, JSON 처리 개선, 실험 기능 정식화
    반응형

    댓글