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 / Microsoft 사진 / 초기화 또는 복구하는 방법

윈도우 10 / Microsoft 사진 / 초기화 또는 복구하는 방법

윈도우 10에 포함된 사진 앱은, 이름은 사진이지만 동영상 편집까지 가능한 유용한 앱입니다. 그런데, 이상하게 가끔 문제가 생깁니다. 실행이 되지 않거나, 오류가 생기거나... 그런 경우 프로그램을 삭제 후 다시 설치하면 보통 해결이 되는데, 사진 앱은 제거가 되지 않습니다. 대신 초기화 또는 복구는 가능합니다. Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 는 활성화되지 ...

윈도우 / 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 / 안전 모드로 부팅하는 방법

윈도우 10을 사용하다가 어떤 장애가 생기면 안전 모드로 부팅해서 문제를 해결해야할 경우가 있습니다. 마이크로소프트에서는 안전 모드를 다음처럼 설명하고 있습니다. 안전 모드는 제한된 파일과 드라이버만 사용하여 Windows를 기본 상태로 시작합니다. 안전 모드에서 문제가 발생하지 않는다면 기본 설정과 기본 디바이스 드라이버가 문제의 원인이 아니라는 것입니다. 안전 모드에서 Windows를 살펴보면 문제를 일으키는 원인의 범위를 ...

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

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

윈도우 11 메모장에서 파일 저장, 텍스트 편집, 찾기·바꾸기, 탭 전환과 화면 확대에 사용하는 단축키를 기능별로 정리했습니다. 자주 혼동하는 탭 닫기와 창 닫기의 차이, 단축키가 작동하지 않을 때 확인할 점도 설명합니다.

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

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

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

윈도우 10 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

윈도우 10 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

공유된 폴더를 네트워크 드라이브로 연결하는 방법입니다. 윈도우 10에서 공유 폴더를 만드는 방법은 여기, 윈도우 서버에서 공유 폴더를 만드는 방법은 여기에 있습니다. 네트워크 드라이브 연결 공유된 폴더를 선택한 후 을 클릭합니다. 드라이브를 적절히 선택한 후 을 클릭하면... 드라이브가 만들어지고, 마치 자신의 PC에 있는 하드디스크처럼 사용할 수 있습니다. 네트워크 드라이브 연결 끊기 네트워크 드라이브를 선택하고 마우스 우클릭합니다. 를 ...

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

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

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

윈도우 10 / 작업 표시줄에서 코타나(Cortana) 제거하는 방법

윈도우 10 / 작업 표시줄에서 코타나(Cortana) 제거하는 방법

윈도우 10을 설치하면 작업 표시줄에 동그란 아이콘이 있습니다. 클릭하면 아래처럼 '해당 지역에서는 Cortana를 사용할 수 없습니다.'라고 나옵니다. 코타나는 마이크로소프트가 만든 음성인식 비서라고 합니다. 위키백과에서는 다음처럼 설명하고 있습니다. 마이크로소프트 코타나(영어: Microsoft Cortana)는 마이크로소프트가 윈도우 폰 8.1, 마이크로소프트 밴드, 윈도우 10 용으로 제작한 인공지능 소프트웨어이다. 영어, 스페인어, 중국어 등 일부 언어를 지원하는데, 아직 한국어는 지원하지 않는다고 ...

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

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

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

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

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

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