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 / 제어판을 여는 세 가지 방법, 바탕화면에 추가하는 방법

윈도우 10 / 제어판을 여는 세 가지 방법, 바탕화면에 추가하는 방법

윈도우 10에서 설정은 대부분 Windows 설정에서 합니다. 하지만 사용자 계정 컨트롤 같은 일부 설정은 제어판에서 가능합니다. 제어판을 여는 방법과 바탕화면에 추가하는 방법을 알려드립니다.

윈도우 10 / Windows 설정 창을 여는 방법 두 가지

윈도우 10 / Windows 설정 창을 여는 방법 두 가지

윈도우 사용과 관련된 설정은 Windows 설정에서 합니다. Windows 설정 창을 여는 방법은 여러 가지가 있는데, 그 중 두 가지 방법을 소개해드리겠습니다. 윈도우 11 / 설정을 여는 세 가지 방법 단축키로 열기 를 누르면 설정 창이 열립니다. 시작 메뉴에서 열기 왼쪽 아래에 있는 시작 아이콘을 누르면 그 위에 톱니바퀴 모양의 설정 아이콘이 있습니다. 그 아이콘을 클릭하면 ...

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

윈도우 11 메모장(Notepad)은 예전보다 훨씬 강력해졌습니다. 탭 기능, 자동 저장, 다크 모드까지 추가되면서 생산성 도구로 활용하는 사용자가 많아졌습니다. 특히 단축키를 익혀두면 문서 작성 속도가 크게 빨라집니다.

윈도우 11 / 저장소 풀, 저장소 공간으로 여러 개 디스크 하나로 합치는 방법

윈도우 11 / 저장소 풀, 저장소 공간으로 여러 개 디스크 하나로 합치는 방법

컴퓨터에 여분으로 갖고 있는 128GB 디스크 2개, 256GB 디스크 1개를 창착했다. 그대로 사용해도 되기는 한데, 작은 크기 여러 개보다는 큰 크기 한 개가 더 좋을 때가 있다. 어떻게 하면 3개의 디스크를 합해서 512GB로 사용할 수 있을까? 윈도우 11의 저장소 기능을 이용하면 가능하다. 순서는 다음과 같다. 저장소 풀 만들기 저장소 공간 만들기 볼륨 만들기 윈도우 11의 ...

윈도우 / 인터넷 시간 서버(NTP 서버) 변경하는 방법

윈도우 / 인터넷 시간 서버(NTP 서버) 변경하는 방법

인터넷이 연결된 상태라면 보통 시간 서버에서 시간을 가져오고 동기화한다. 기본값은 time.windows.com이다. 다른 시간 서버로 변경하고 싶다면 아래와 같이 한다. OS별로 구분했지만, 설정하는 방법은 같다고 봐도 된다. Windows Server 2022 오른쪽 아래 날짜와 시간이 있는 곳에 마우스를 올리고 우클릭한다. 을 클릭한다. 를 클릭한다. 을 클릭한다. 서버를 선택 목록에서 선택하거나 ...

윈도우 11 / Windows.old 폴더가 있는 이유와 삭제 가능 여부

윈도우 11 / Windows.old 폴더가 있는 이유와 삭제 가능 여부

윈도우를 사용하다 보면 C드라이브에 Windows.old라는 폴더가 생긴 것을 볼 수 있습니다. 특히 Windows 10에서 Windows 11로 업그레이드했거나, Windows 11의 대형 기능 업데이트를 설치한 뒤에 자주 나타납니다.

윈도우 10 / 날씨 앱 / 내 위치 설정하기

윈도우 10 / 날씨 앱 / 내 위치 설정하기

윈도우 10에는 날씨 앱이 있습니다. 특정 지역의 날씨를 알려주는 앱입니다. 그런데 그 지역이 내가 있는 지역과 맞지 않을 수 있습니다. 보통 서울로 설정되어 있는 거 같습니다. GPS가 없는 데스크톱이라면 지역을 수동으로 설정해서 사용합니다. 날씨 앱을 엽니다. 현재 위치를 검색한 후 을 클릭합니다. 이제 내 위치에 딱 맞는 날씨를 볼 수 있습니다.

윈도우 / 안전 모드

윈도우의 안전 모드(Safe Mode)는 운영 체제에서 문제가 발생했을 때 이를 진단하고 해결하기 위한 특별한 부팅 옵션입니다. 안전 모드에서는 윈도우가 기본적인 파일과 드라이버만 로드하며, 문제의 원인을 찾고 수정하는 데 유리한 환경을 제공합니다. 안전 모드에서는 비필수적인 소프트웨어와 드라이버는 실행되지 않으므로, 충돌 문제나 시스템 오류를 최소화할 수 있습니다. 안전 모드의 주요 기능과 목적 필수적인 기능만 ...

윈도우 11 / 프로그램 시작 화면 고정 제거, 작업 표시줄 고정 제거

윈도우 11 / 프로그램 시작 화면 고정 제거, 작업 표시줄 고정 제거

윈도우 11에서 시작 아이콘을 클릭했을 때 나오는 창을 시작 화면, 밑에 아이콘들이 모여있는 바를 작업 표시줄이라고 한다. 프로그램을 시작 화면에 고정을 시키면 아래 이미지에서 빨간 박스 안에 들어간다. 프로그램 아이콘을 시작 화면에 고정하고 제거하는 방법, 작업 표시줄에 고정하고 제거하는 방법을 알아보자. 시작 화면에 고정하고 제거하는 방법 프로그램 아이콘에 마우스를 올리고 마우스 우클릭한다. 팝업 메뉴에서 ...

윈도우 10 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

윈도우 10 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

별도의 모니터를 연결해서 쓰는 경우, 원격으로 접속해서 쓰는 경우 등 노트북 덮개를 닫고 사용하는 게 편할 때가 있다. 그런데 보통의 경우 노트북 덮개를 닫으면 절전 모드로 들어간다. 덮개는 노트북을 장시간 사용하지 않을 때 주로 닫기 때문에 그렇게 설정되어 있다. 노트북 덮개를 닫아도 계속 사용하기 위해서는 전원 설정을 변경해주어야 한다. 방법은... 아래는 윈도우 ...