도움을 주는 이들…

Dr Scripto Kory Thacher Kory Thacher

관련 블로그 이력

Other Resources

Tip1 : Path 환경 변수 내용 보기 (+이쁘게)

유사 내용 : 모든 환경 변수 보기

Tip2 : PowerShell 버전 보기

Tip3 : PowerShell 에서 rm -rf temp 와 같은 명령을 어떻게 하지?

Tip4 : Windows에 PowerShell 설치

Setting1 : Execution Policy 설정하기

  • PowerShell script를 마음대로 실행하려면 Execution Policy가 제대로 설정되어 있어야 함

    Execution Policy is designed to prevent a user from unkonwingly running a script

  • Execution Policy 설정하는법, ms pwsh docs
  • 현재 설정된 Execution Policy를 보는 법
    • Get-ExecutionPolicy : Restricted면 아직 미허용, Remote Signed면 허용된 상태
  • Execution Policy 변경하는 법 : Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -scope CurrentUser
    • mis-typing을 피하기 위해 tab completion을 이용할 것

Setting2 : PowerShell Profile 설정하기

  • #profile
  • 내용 발췌 소스
  • profile 이란?
    • 보통 sessoin 이 시작할 때 편의적인 기능을 자동적으로 미리 로딩하기 위해 profile 파일을 작성한다.
    • powershell도 마찬가지 (예를 들면, linux bash도 .profile 파일에 저장)
  • 실행시 잘 읽어오기 위해 저장된 위치가 중요한데..
    • Posh5.1 과 Posh7이 다르게 설정되어 동시에 사용가능하다
    • Posh5.1 : $HOME/Documents/WindowsPowerShell
    • Posh7.x : $HOME/Documents/PowerShell
  • 이 명령으로 7.x 버전에서 달라진 profile 파일명을 볼수 있다
    1
    2
    3
    4
    5
    6
    
    PS> $PROFILE | Select-Object *Host* | Format-List
    
    AllUsersAllHosts       : C:/Program Files/PowerShell/7/profile.ps1
    AllUsersCurrentHost    : C:/Program Files/PowerShell/7/Microsoft.PowerShell_profile.ps1
    CurrentUserAllHosts    : C:/Users/<user>/Documents/PowerShell/profile.ps1
    CurrentUserCurrentHost : C:/Users/<user>/Documents/PowerShell/Microsoft.PowerShell_profile.ps1
    

Tip5 : PowerShell 업데이트 하기 {#tip5} - 7.3.3 이후 winget 업데이트 안됨

  • 아래와 같이 업데이트 메시지가 뜨는 경우 어떻게 업데이트할까?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    PowerShell 7.2.2
    Copyright (c) Microsoft Corporation.
    
    https://aka.ms/powershell
    Type 'help' to get help.
    
       A new PowerShell stable release is available: v7.2.3
       Upgrade now, or check out the release page at:
         https://aka.ms/PowerShell-Release?tag=v7.2.3
    
    Loading personal and system profiles took 3826ms.
    
    >
    
  • 간단히 winget upgrade -h --id Microsoft.PowerShell로 최신버전으로 업데이트 할 수 있다
  • 자세한 설명은 아래 링크를 참조한다

2023-03-02 업데이트시 달라진 점 (2023-10-29 보완)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
  PowerShell 7.3.2

     A new PowerShell stable release is available: v7.3.3
     Upgrade now, or check out the release page at:
       https://aka.ms/PowerShell-Release?tag=v7.3.3

  Loading personal and system profiles took 2357ms.

  > winget upgrade -h --id Microsoft.PowerShell
  A newer version was found, but the install technology is different from the current version installed. 
  Please uninstall the package and install the newer version.
  (혹은 => 최신 버전을 찾았지만 설치 기술이 현재 설치된 버전과 다릅니다. 패키지를 제거하고 최신 버전을 설치하세요.)
  
  >
  • 7.3.3 버전에서 winget 업데이트가 바로안됨
  • Github 배포 사이트 에서 PowerShell-7.3.3-win-x64.msi 다운받아서 실행함
  • Optional Actions : 설치과정 중 선택사항
    • Add PowerShell to Path Envronment Variable (체크)
      • 어떤 경로에서든 PowerShell을 실행할 수 있도록 함
    • Register Windows Event Logging Manifest (체크)
      • PowerShell Remoting(원격명령) 이 작동하도록 함
      • 다양한 advanced logging techniques 또한 enable 함
    • Enable PowerShell remoting (선택 안함)
      • 관련 cmdlet : Enable-PSRemoting
      • 원격 PowerShell 명령을 수신하도록 컴퓨터를 구성하는 것으로 Window Sever 플랫폼에서는 기본 활성화함
      • 개인 컴퓨터에서는 활성화 불필요할 듯
    • 나머지 두개는 Explorer에 편의성관련 context 메뉴 추가 하는 내용. 별로 중요하지 않음
  • Use Microsoft Update to help keep your computer secure and up tp date
    • Enable updating PowerShell through Microsoft Update or WSUS (recommended)
    • Use Microsoft Update when I check for updates (recommended)
    • 업데이트 정책 설정 (둘 다 체크함)

2023-11-25 아래명령 다시 먹음

  • 이 명령…
    1
    
      > winget upgrade -h --id Microsoft.PowerShell --source winget