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 / 이모지(Emoji) 사용하는 방법

윈도우 11 / 이모지(Emoji) 사용하는 방법

이모지(Emoji)는 감정, 사물, 동작, 장소, 기호 등을 그림이나 아이콘으로 나타내는 문자입니다. 😃😂❤️✨ 같은 그림들이 바로 이모지입니다. 윈도우 11에서 이모지를 사용하는 방법은 다음과 같습니다.

윈도우 / du / 폴더별 사용량 확인

윈도우 / du / 폴더별 사용량 확인

윈도우에서 폴더별로 저장 공간을 얼마나 사용하고 있는지 확인하는 방법은 여러 가지가 있습니다. 그 중 가장 편하다고 생각되는 것은 du 명령어를 사용하는 것입니다. Du (disk usage) reports the disk space usage for the directory you specify. By default it recurses directories to show the total size of a directory and its subdirectories. du는 ...

윈도우 10 / 마우스 / 포인터 크기 변경하는 방법

윈도우 10 / 마우스 / 포인터 크기 변경하는 방법

4K UHD 모니터를 샀습니다. 좋은 걸 사고 싶지만 너무 비싸서 가성비 제품을 선택했습니다. 모니터 크기는 28인치. 나름 만족하며 사용하고 있는데... 가장 불편한 건 마우스 포인터입니다. 해상도가 높다보니 마우스 포인터도 작고, 이리저리 휙휙 움직이다보면 마우스 포인터가 어디 있는지 찾을 수가 없습니다. 아래처럼요... 고양이 코 앞에 있는 하얀 점 같은 게 마우스 포인터입니다. 불편한 ...

윈도우 10 / PowerShell / 특정 폴더에서 실행하는 방법

윈도우 10 / PowerShell / 특정 폴더에서 실행하는 방법

윈도우 10에서 명령어로 작업하려면 PowerShell을 사용합니다. 그런데 시작 메뉴에서 파워쉘을 실행하면 현재 사용자의 폴더에서 시작하게 됩니다. 다른 폴더로 이동하려면 cd 명령어를 사용해야 하죠. 이름이 복잡하거나 구석에 숨어있는 폴더로 이동하려면 아주 귀찮습니다. 만약 특정 폴더에서 바로 시작하고 싶다면... 파일 탐색기를 엽니다. 원하는 폴더로 이동합니다. 메뉴에서 PowerShell을 실행합니다. 이렇게 하면 현재 위치한 폴더에서 파워쉘이 시작됩니다.

윈도우 11 / PowerToys / 사용법 / Color Picker

윈도우 11 / PowerToys / 사용법 / Color Picker

모니터 화면에 있는 특정 색을 추출하는 프로그램을 보통 Color Picker라고 한다. Color Picker는 포토샵 등 여러 프로그램에 포함되어 있는데, PowerToys에도 포함되어 있다. 단축키는 이다. 형식은 HEX인데, 에서 변경할 수 있다. CMYK, RGB, HSB 등 여러 가지 형식에서 선택할 수 있다. 단축키 를 누르고 ...

윈도우 / 단축키

윈도우 / 단축키

윈도우 단축키 단축키 수행 작업 WIN 시작 메뉴를 열거나 닫기 WIN + D 바탕화면을 표시하거나 숨기기 WIN + E 파일 탐색기 열기 WIN + I 윈도우 설정 열기 WIN + L PC 잠그기 WIN + M 모든 창 최소화 하기 WIN + Ctrl + Q 빠른 지원 열기 WIN + R 실행 창 열기 WIN + S 검색 열기 WIN + V 클립보드 열기 WIN + X 빠른 링크 메뉴 열기 WIN + . 이모지 열기 WIN ...

윈도우 11 / 디스크 공간 확보하는 방법

윈도우 11 / 디스크 공간 확보하는 방법

윈도우 11을 사용하다 보면 디스크 공간이 부족해지는 상황을 겪을 수 있습니다. 이럴 때 불필요한 파일을 정리하고, 시스템을 최적화하는 것이 중요합니다. 윈도우에는 기본적으로 디스크 정리 도구가 내장되어 있어 불필요한 파일을 쉽게 삭제할 수 있습니다.

윈도우 / 버전, 빌드 넘버 확인하는 5가지 방법

윈도우 / 버전, 빌드 넘버 확인하는 5가지 방법

윈도우 버전을 확인하는 방법은 여려 가지가 있습니다. 그 중 5가지 방법을 소개합니다. 윈도우 10이나 11뿐 아니라 윈도우 서버에서도 가능한 방법입니다. 방법 1 - 설정에서 확인 을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 를 클릭하면, 오른쪽에서 버전을 확인할 수 있습니다. 방법 2 - Windows 정보 실행 창을 엽니다. 단축키는 WIN+R입니다. winver를 입력하고 엔터키를 누르거나 을 클릭합니다. 창이 ...

윈도우 11 / 글꼴 설치하는 방법

윈도우 11 / 글꼴 설치하는 방법

윈도우 11에서 글꼴을 설치하는 방법은 여러 가지가 있습니다. 그 중 가장 편한 방법은, 글꼴을 선택한 후 마우스 우클릭하여 설치하는 것입니다. 설치에는 개인용 설치, 모든 사용자용 설치 두 가지가 있습니다. 개인용으로 설치 글꼴을 선택한 후 마우스 우클릭합니다. 를 클릭합니다. 설치한 글꼴 정보는 에서 확인할 수 있습니다. 마우스 우클릭 후 를 클릭해서 설치한 ...

윈도우 11 / 네트워크 / 고정 IP 설정하는 방법

윈도우 11 / 네트워크 / 고정 IP 설정하는 방법

윈도우 11에서 고정 IP를 설정하는 방법 두 가지를 소개합니다. 가 편합니다. 방법 1 오른쪽 아래에 있는 네트워크 아이콘 위에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 설정하려는 네트워크를 선택하고... 을 클릭합니다. 자동을 수동으로 변경하고... IPv4를 켠 후... 필요한 정보를 ...