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을 시작할 때, 경고가 뜰 때, 메일이 왔을 때, 노트북 배터리가 부족할 때 등 여러 상황에서 소리가 난다. 내 방이면 상관없지만, 사무실이나 도서관 등이라면 소리가 나지 않게 해야 한다. 그렇다고 아예 무음으로 하면 불편할 수 있다. 그런 경우 특정 이벤트 발생 시 나는 소리만 없앨 수 있다. 오른쪽 아래에 있는 ...

윈도우 11 / PowerToys / 사용법 / FancyZones

윈도우 11 / PowerToys / 사용법 / FancyZones

PowerToys의 FancyZones는 창을 배치를 도와주는 앱이다. 이다. 미리 정의된 레이아웃을 사용해도 되고, 새로 만들 수도 있다. 그리드 또는 캔버스 형식으로 만들 수 있고... 키보드와 마우스로 원하는 배치를 만들고 을 클릭한다. 레이아웃을 선택하면... 영역이 표시되고... Shift 키를 누른 채 창을 이동하면 그 영역에 배치된다. 더욱 자세한 사용법은 https://docs.microsoft.com/ko-kr/windows/powertoys/fancyzones에서 볼 수 있다.

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

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

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

윈도우 10 / PC용 구글 드라이브 설치하는 방법

윈도우 10 / PC용 구글 드라이브 설치하는 방법

PC용 구글 드라이브를 설치하면, PC의 파일을 구글 드라이브에, 구글 드라이브의 파일을 PC에 동기화(백업) 할 수 있습니다. 내 개인 자료가 클라우드에 있는 것이 싫어서 PC의 파일을 구글 드라이브에 올리지는 않지만, 구글 드라이브에 있는 자료를 내 PC로 옮길 때는 PC용 구글 드라이브가 편합니다. 스마트폰으로 찍은 사진을 구글 포토에 백업하고 있다면, 구글 포토에서 구글 ...

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

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

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

윈도우 10 / 모니터 주사율(새로 고침 빈도) 설정하는 방법

윈도우 10 / 모니터 주사율(새로 고침 빈도) 설정하는 방법

모니터는 별도의 설정 없이 연결만 하면 사용할 수 있는 기기 중의 하나입니다. 그런데 간혹 설정이 맞지 않아 제대로 작동하지 않는 경우가 있습니다. 대표적인 것이 주사율입니다.(Windows에서는 새로 고침 빈도라고 표현하고 있습니다.) 그래픽 카드를 교체하거나, 새 모니터를 연결했을 때 주사율이 엉뚱하게 설정된다면 윈도우 설정에서 제대로 잡아줍니다. 설정하는 방법은... Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 ...

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10을 설치하면 마이크로소프트의 보안 프로그램 디펜더(Defender)가 자동으로 설치됩니다. 별도로 백신을 구입하고 설치할 필요가 없어서 편하기는 합니다. 마이크로소프트가 대충 만들 것도 아니구요. 보통의 백신 프로그램이 그러하듯이, 마이크로소프트 디펜더도 실시간 보호 기능이 있습니다. 프로그램을 설치하거나 파일을 다운로드 하는 등 어떤 변화가 있을 때 바로바로 검사를 하는 기능입니다. 그런데 단점도 있습니다. 실행해야할 프로그램을 악성코드로 ...

윈도우 11 / 배경 화면, 잠금 화면 변경하는 방법

윈도우 11 / 배경 화면, 잠금 화면 변경하는 방법

윈도우 11 배경화면은 사용자 컴퓨터의 바탕화면에 표시되는 이미지 또는 색상을 말합니다. 배경화면은 사용자 환경의 시각적 경험을 개인화하고, 더 나아가 심미적 만족감을 제공하는 요소 중 하나입니다. 잠금 화면은 컴퓨터가 잠금 상태일 때 사용자에게 표시되는 화면입니다. 이는 시스템 보안을 강화하고 개인 정보를 보호하기 위한 기능 중 하나입니다.

윈도우 10 / 자동 로그인하는 방법

윈도우 10 / 자동 로그인하는 방법

컴퓨터를 사용하려면 사용자 계정이 필요하고, 보통 암호를 설정한다. 그런데 정말 나 혼자만 사용하는 컴퓨터라면 암호를 입력하고 로그인하는 과정이 불편할 수 있다. 컴퓨터를 켤 때 암호를 입력하지 않고 바로 로그인하도록 할 수 있을까? 방법은 두 가지가 있다. 아래의 스크린샷은 윈도우 10 기준이지만, 윈도우 11에서도 동일한 방법으로 가능하다. 방법 1 - 암호 제거하기 사용자 계정이 ...