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를 기본 상태로 시작합니다. 안전 모드에서 문제가 발생하지 않는다면 기본 설정과 기본 디바이스 드라이버가 문제의 원인이 아니라는 것입니다. 안전 모드에서 Windows를 살펴보면 문제를 일으키는 원인의 범위를 ...

윈도우 10 / PC용 구글 드라이브 여러 계정 추가하는 방법

윈도우 10 / PC용 구글 드라이브 여러 계정 추가하는 방법

네이버는 한 명이 만들 수 있는 계정 개수에 제한이 있습니다. 3개까지 만들 수 있죠. 그런데, 구글은 그런 제한이 없습니다. 계속해서 만들 수 있습니다. 개인용, 업무용, 친목용, 가족용, 동호회용, 투잡용 등 구분해서 만드는 게 가능합니다. 그리고 그 계정마다 15G의 클라우드 공간을 사용할 수 있습니다. 구글이 제공하는 클라우드는 PC용 구글 드라이브를 이용해서 관리를 ...

윈도우 10 / 원격 데스크톱 연결을 위한 절전 모드 해제 설정

윈도우 10 / 원격 데스크톱 연결을 위한 절전 모드 해제 설정

원격으로 윈도우 10 컴퓨터에 접속하는 가장 간단한 방법은 원격 데스크톱을 사용하는 겁니다. 특별히 설치할 것도 없고, 설정만 약간 변경해주면 됩니다. 원격 데스크톱 연결 허용은 에 들어간 다음... 를 켜면 됩니다. 그런데, 컴퓨터가 절전 모드라면 원격 접속이 되지 않습니다. 그래서 컴퓨터를 사용하지 않아도 절전 모드로 들어가지 않게 설정을 ...

윈도우 / 명령어 / diskpart / 디스크 초기화하고 MBR 또는 GPT로 변경하는 방법

윈도우 / 명령어 / diskpart / 디스크 초기화하고 MBR 또는 GPT로 변경하는 방법

MBR과 GPT 하드디스크 파티션 스타일에는 MBR(마스터 부트 레코드)과 GPT(GUID 파티션 테이블)가 있다. MBR 스타일은 호환성이 좋으나 디스크를 2TB까지만 사용할 수 있다. 따라서 3TB 디스크를 MBR 스타일로 초기화하면 1TB는 사용할 수 없게 된다. GPT 스타일은 용량이 큰 디스크를 사용할 수 있지만, 구형 메인보드에서는 부팅 디스크로 사용할 수 없다. MBR을 GPT로, GPT를 MBR로 변경하기 위해서는 diskpart ...

윈도우 10 / CPU 100% 해결하는 방법

윈도우 10 / CPU 100% 해결하는 방법

윈도우 10에서 CPU 사용률이 100%에 도달하는 문제는 시스템 성능을 저하시킬 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 시도해 볼 수 있습니다. 작업 관리자에서 문제 프로세스 확인 가장 먼저 해야 할 일은 작업 관리자를 사용하여 CPU 사용량이 높은 프로세스를 찾는 것입니다. Ctrl + Shift + Esc를 눌러 작업 관리자를 엽니다. 프로세스 탭에서 CPU 열을 ...

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

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

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

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

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

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

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10의 메일 앱에 지메일을 추가하는 방법입니다. 예전에 여러 가지 설정이 필요했었는데, 지금은 간단히 추가할 수 있습니다. 메일 앱을 실행합니다. 메일 앱을 처음 사용하는 거라면 다음과 같이 계정을 추가하라는 창이 나옵니다. 를 클릭합니다. 계정을 처음 추가하는 게 아니라면, 설정에서 추가할 수 있습니다. 구글 계정을 입력합니다. abc@gmail.com으로 입력해도 되고 abc만 입력해도 됩니다. 을 클릭합니다. 비밀번호를 입력하고 을 클릭합니다. 권한이 ...

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

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

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

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11에서 프로그램을 제거하는 방법 세 가지를 소개한다. 방법 1이 제일 편하고, 방법 1 또는 방법 2로 제거되지 않을 때 방법 3으로 해결되는 경우가 간혹 있다. 방법 1 또는 방법 2에 나오는 프로그램 목록과 방법 3에 나오는 프로그램 목록이 다르다. 방법 1 시작 메뉴에서 프로그램 아이콘에 마우스를 올리고 우클릭한다. 를 클릭한다. 방법 2 윈도우 설정을 연다. 단축키는 ...