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

기타

 

같은 카테고리의 다른 글
윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

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

인터넷은 보통 유동 IP로 연결됩니다. 연결될 때마다 새로운 IP를 받는 것이죠. 그렇다고 부팅할 때마다 바뀌는 것은 아닙니다. 일정 시간 기다려주므로, 오랜 시간 껐다 켜는 게 아니라면 IP가 유지됩니다. 하지만, 어떠한 상황에서도 IP가 유지되는 게 필요할 때가 있습니다. 대표적인 경우는 외부에서 접속하고 싶을 때죠. IP가 정확하지 않으면 접속을 할 수 없습니다. 그런 ...

윈도우 11 / 메모장 단축키 모음

윈도우 11 메모장(Notepad)은 예전보다 훨씬 강력해졌습니다. 탭 기능, 자동 저장, 다크 모드까지 추가되면서 생산성 도구로 활용하는 사용자가 많아졌습니다. 특히 단축키를 익혀두면 문서 작성 속도가 크게 빨라집니다. 윈도우 11 메모장 단축키를 기능별로 정리해보겠습니다. 기본 파일 단축키 기능 단축키 새 파일 만들기 Ctrl + N 새 탭 열기 Ctrl + T 파일 열기 Ctrl + O 저장 Ctrl + S 다른 이름으로 저장 Ctrl + Shift ...

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

PC에 저장 공간이 부족하면 디스크를 추가한다. 외장 하드를 이용하는 방법도 있지만, 메인보드에 디스크를 붙이는 것이 좀 더 안정적이고 속도가 빠르다. 요즘 출시된 노트북은 디스크를 추가할 수 있는 여유 공간이 제공되는 것이 많아, 가벼운 SSD를 추가하면 저장 공간이 작다는 노트북의 단점이 사라진다. 디스크를 추가하면 몇 가지 작업이 필요한데, 윈도우 11에서 어떻게 하는지 ...

윈도우 10 / 빠른 지원 / 다른 컴퓨터에 원격으로 접속하여 지원하는 방법

윈도우 10 / 빠른 지원 / 다른 컴퓨터에 원격으로 접속하여 지원하는 방법

컴퓨터에 문제가 있다고 연락이 옵니다. 아무래도 소프트웨어 문제 같습니다. 직접 조작할 수 있다면 쉽게 끝날 일인데, 아주 멀리 있습니다. 그런 경우 원격으로 접속하여 조치를 취할 수 있습니다. 다른 PC에 원격으로 접속할 수 있는 방법은 여러 가지가 있습니다. 그 중 가장 간단한 방법은 윈도우 10에 포함된 빠른 지원 기능을 이용하는 것입니다. 별도의 ...

윈도우 10 / 마이크로소프트 계정으로 윈도우에 로그인하는 방법

윈도우 10 / 마이크로소프트 계정으로 윈도우에 로그인하는 방법

윈도우 10에 로그인하는 방법은 두 가지가 있습니다. 하나는 로컬 계정으로 로그인하는 것이고, 다른 하나는 마이크로소프트 계정으로 로그인하는 것입니다. 마이크로소프트 계정으로 로그인하는 것은, 안드로이드 스마트폰에 구글 계정으로 로그인하는 거 또는 아이패드에 애플 계정으로 로그인하는 것과 비슷하다고 보면 됩니다. 윈도우에 마이크로소프트 계정으로 로그인하는 것은 여러 가지 장점이 있겠지만, 내 PC의 정보를 마이크로소프트와 공유한다는 ...

윈도우 10 / 제품 키 변경, 제품 에디션 변경

윈도우 10 / 제품 키 변경, 제품 에디션 변경

윈도우 10의 제품 키를 변경해야 할 때가 있습니다. 메인보드 등 주요 부품이 바뀌어서 새 라이선스 키를 넣어야 할 때도 있고, Windows 10 Home에서 Windows 10 Pro로 에디션 업그레이드를 해야 할 때도 있고... 흔한 경우는 아니지만 작업이 필요할 때가 있습니다. Windows 10에서는 Windows Home에서 Windows Pro로, Windows Pro에서 Windows Enterprise로 변경할 때 포맷하고 ...

윈도우 10 / 디스크 조각 모음 하는 방법

윈도우 10 / 디스크 조각 모음 하는 방법

디스크 조각 모음 파일을 읽고 쓰는 게 느려졌다면, 디스크 조각 모음으로 속도를 개선할 수 있다고 합니다. 체감할 정도로 속도가 빨라졌다고 느낀 적은 별로 없지만, 포맷을 하기 전에 한번 쯤 시도해보는 것도 좋은 방법이라고 생각합니다.(개인적으론 포맷이 가장 확실한 방법이라고 생각합니다.) 드라이브 최적화 실행하기 파일 탐색기에서 드라이브에 마우스를 올리고 우클릭하고 을 클릭합니다. 아무 드라이브를 선택해도 ...

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

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

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

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

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

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

윈도우 10 / 시작 메뉴, 작업 표시줄에서 최근 사용한 파일 목록 지우는 방법

윈도우 10 / 시작 메뉴, 작업 표시줄에서 최근 사용한 파일 목록 지우는 방법

윈도우에서 파일을 사용하면 파일 탐색기의 에 나온다. 프로그램에서 마우스 우클릭해도 해당 프로그램이 사용한 파일 목록이 나온다. 보안, 사생활 보호 등의 이유로 이 목록이 보이지 않게 하고 싶다면... 설정을 연다.(단축키는 WIN+I) 을 클릭한다. 가 ...