PowerShell / 메모

업그레이드

  • 버전 확인
PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.3031
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.3031
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
  • 최신 버전 확인
PS C:\> winget search Microsoft.PowerShell
이름               장치 ID                      버전    원본
---------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.3.6.0 winget
PowerShell Preview Microsoft.PowerShell.Preview 7.4.0.5 winget
  • 최신 버전 설치
winget install --id Microsoft.Powershell --source winget

도움말

  • 도움말 업데이트
Update-Help
  • Get-Help 명령어의 도움말
Get-Help -Name Get-Help

명령어 찾기

  • 모든 명령어 출력
Get-Command
  • 동사가 Get이면서 명사가 H로 시작하는 것 출력
Get-Command -Verb Get -Noun H*

보안 오류로 스크립트가 실행되지 않을 때

ExecutionPolicy의 값을 확인하고, Restricted라면 RemoteSigned로 변경해봅니다.

  • 값 확인
Get-ExecutionPolicy
  • 값 변경
Set-ExecutionPolicy RemoteSigned

주석

한 줄 주석

#을 추가한다. # 이후가 주석 처리된다.

여러 줄 주석

<#과 #>로 감싼다.

예제

현재 디렉토리 안의 폴더, 파일 크기 출력

Get-ChildItem | ForEach-Object {
    if ($_.PSIsContainer) {
        $size = (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue |
        Measure-Object Length -Sum).Sum
        [PSCustomObject]@{
            Name = $_.Name
            Type = "Folder"
            SizeMB = "{0:N2}" -f ($size / 1MB)
        }
    }
    else {
        [PSCustomObject]@{
            Name = $_.Name
            Type = "File"
            SizeMB = "{0:N2}" -f ($_.Length / 1MB)
        }
    }
} | Format-Table -AutoSize
Get-ChildItem | ForEach-Object {

    if ($_.PSIsContainer) {
        $size = (Get-ChildItem $_.FullName -Recurse -File -EA SilentlyContinue |
        Measure-Object Length -Sum).Sum
    }
    else {
        $size = $_.Length
    }

    [PSCustomObject]@{
        Name = $_.Name
        SizeBytes = $size
    }

} | Sort-Object SizeBytes -Descending | ForEach-Object {

    $size = $_.SizeBytes

    $display =
        if ($size -ge 1GB) {
            "{0:N2} GB" -f ($size / 1GB)
        }
        elseif ($size -ge 1MB) {
            "{0:N2} MB" -f ($size / 1MB)
        }
        elseif ($size -ge 1KB) {
            "{0:N2} KB" -f ($size / 1KB)
        }
        else {
            "$size Bytes"
        }

    [PSCustomObject]@{
        Name = $_.Name
        Size = $display
    }

} | Format-Table -AutoSize

기타

 

같은 카테고리의 다른 글
윈도우 11 / 언어 변경하는 방법

윈도우 11 / 언어 변경하는 방법

예전에는 윈도우 한글판, 윈도우 영문판 따로 판매했던 거 같다. 그래서 한글판을 쓰다가 영문판을 쓰고 싶다면 새로 구입해야 했던 거 같은데... 아니면 구입은 할 필요 없고 영문 버전으로 설치를 새로 했어야 했던가? 기억이 가물가물하다. 그런데 지금은 언어 변경이 상당히 쉽니다. 설정에서 언어 파일 설치하고 기본 언어를 선택하면 끝... 윈도우 11이라면 아래의 순서로 ...

윈도우 11 / 네트워크 초기화하는 방법

윈도우 11 / 네트워크 초기화하는 방법

윈도우 11에서 네트워크 초기화(Network Reset)는 인터넷 연결 문제를 해결할 때 매우 효과적인 방법입니다. 네트워크 초기화는 다음 설정을 모두 초기 상태로 되돌립니다.

윈도우 / System Volume Information 폴더의 용도

윈도우 / System Volume Information 폴더의 용도

Windows의 System Volume Information 폴더는 복원 지점을 저장하는 폴더이다. 윈도우 11 / 복원 지점 만드는 방법, 복원하는 방법 Windows Server에도 같은 기능이 있는데, 섀도 복사본이라고 한다. 복원 지점(섀도 복사본)을 만들 수록 System Volume Information 폴더의 크기는 늘어난다. 반대로 복원 지점(섀도 복사본)을 지우면 System Volume Information 폴더의 크기는 줄어든다. 설정을 통해 System Volume Information의 최대 ...

윈도우 11 / 내 컴퓨터 CPU 종류 확인하는 세 가지 방법

윈도우 11 / 내 컴퓨터 CPU 종류 확인하는 세 가지 방법

컴퓨터를 업그레이드하거나 특정 프로그램을 설치하기 전에, 내 컴퓨터에 어떤 CPU가 탑재되어 있는지 확인해야 할 때가 있습니다. 윈도우에서 CPU 정보를 확인하는 방법은 여러 가지가 있는데, 별도의 프로그램을 설치하지 않고도 할 수 있는 방법 세 가지를 소개해드립니다.

윈도우 11 / 터미널 / 사용법

윈도우 11 / 터미널 / 사용법

터미널 윈도우 11에는 터미널이라는 프로그램이 기본 설치되어 있습니다. 마이크로소프트의 오픈 소스 프로젝트로 개발되는 것으로, GitHub 주소는 다음과 같습니다. https://github.com/microsoft/terminal 소개는 다음과 같습니다. Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich ...

윈도우 10 / 사용자 계정 추가하는 방법, 제거하는 방법

윈도우 10 / 사용자 계정 추가하는 방법, 제거하는 방법

사용자 계정 추가하는 방법 Windows 설정을 엽니다. 단축키는 입니다. 을 클릭합니다. 를 클릭합니다. 를 클릭합니다. 마이크로소프트 계정을 추가하거나 로컬 계정을 추가할 수 있습니다. 마이크로소프트 계정 추가는 여기를 참고하세요. 이 글에서는 로컬 계정을 추가하겠습니다. 를 클릭합니다. 를 클릭합니다. 사용자 이름을 입력합니다. 암호는 선택 사항입니다. ...

윈도우 11 / 원드라이브 삭제하는 방법

윈도우 11 / 원드라이브 삭제하는 방법

원드라이브(OneDrive)는 Microsoft가 제공하는 클라우드 기반 파일 저장 및 동기화 서비스입니다. 인터넷을 통해 문서, 사진, 동영상 등 다양한 파일을 저장하고 여러 기기에서 동일한 파일에 접근할 수 있습니다. 예를 들어, PC의 OneDrive 폴더에 파일을 저장하면 자동으로 클라우드에 업로드되며, 동일한 Microsoft 계정으로 로그인한 다른 컴퓨터나 모바일에서도 파일을 확인할 수 있습니다. 또한 파일 공유 기능을 ...

윈도우 11 / 가상 데스크톱과 작업 보기

윈도우 11 / 가상 데스크톱과 작업 보기

컴퓨터는 멀티태스킹을 지원한다. 동시에 여러 가지 프로그램을 띄워 놓고 작업하는 것이 가능하다. 요즘은 너무나 당연한 것이지만, 아주 예전에는 한 번에 하나의 프로그램만 실행할 수 있었다. 멀티태스킹의 단점은 너무 많은 프로그램을 실행했을 때 프로그램 간 전환이 불편하다는 것이다. 이럴 때 유용한 것이 가상 데스크톱이다. 1번 데스크톱에는 파워포인트와 엑셀, 2번 데스크톱에는 포토샵과 일러스트레이터와 ...

윈도우 10 / 부팅, 다시 시작할 때 종료하지 않았던 앱 열리지 않게 하는 방법

윈도우 10 / 부팅, 다시 시작할 때 종료하지 않았던 앱 열리지 않게 하는 방법

컴퓨터를 켜거나 재부팅할 때 종료하지 않은 앱이 시작되는 경우가 있습니다. 예를 들어 크롬을 열고 인터넷 서핑을 하다가 재부팅을 하면 크롬이 자동으로 실행되는 것이죠. 이 기능은 상황에 따라 좋기도 하고 나쁘기도 합니다. 내가 어떤 프로그램으로 무엇을 했는지 알리고 싶지 않다면 나쁜 기능이 되는 거죠. 딱히 뭐라고 이름을 붙이기 힘든 이 기능을 켜거나 끄는 ...

윈도우 10 / 폴더 아이콘 변경하는 방법과 아이콘 구하는 방법

윈도우 10 / 폴더 아이콘 변경하는 방법과 아이콘 구하는 방법

폴더 아이콘 폴더의 특성에 따라 다른 모양의 아이콘을 설정할 수 있어요. 윈도우 10이라면, 기본적으로 문서는 종이, 다운로드는 아래쪽으로 향하는 화살표, 사진은 이미지가 폴더에 표시되요. 아이콘만 보고 어떤 내용이 담겨 있는지 구분할 수 있는 유용한 기능입니다. 폴더 아이콘 직접 설정하기 폴더 아이콘은 주어진 모양대로 사용해야 하는 것은 아니에요. 내가 원하는 모양으로 바꿀 수 있어요. 폴더를 선택한 ...