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 / 공유 폴더 만드는 방법

공유 폴더 만드는 방법 공유할 폴더를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 을 클릭합니다. 를 클릭합니다. 현재 로그인한 사용자가 소유자로, 공유 폴더에 접근 가능합니다. 다른 사용자를 추가하고 싶다면 선택 목록을 클릭합니다. 사용자를 선택하고, 추가한 다음... 역삼각형 아이콘을 클릭하여... 권한을 적절히 선택합니다. 를 클릭합니다. 적절히 선택합니다. 를 클릭해도 됩니다. 공유 설정이 완료되었습니다. 공유 폴더에 접근하는 방법 같은 네트워크 안에 있는 다른 PC에서 파일 ...

윈도우 11 / 프린트 스크린 키 눌렀을 때 캡처 도구 실행되지 않게 하는 방법

윈도우 11 / 프린트 스크린 키 눌렀을 때 캡처 도구 실행되지 않게 하는 방법

윈도우에는 캡처 도구가 설치되어 있다. 그런데 컴퓨터 화면 캡처는 주로 픽픽을 사용한다. 여러 방식의 캡처가 가능하고, 단축키 사용도 편하고, 무엇보다 손에 익었다. 픽픽으로 캡처를 할 때 전체 화면 캡처의 단축키는 프린트 스크린(Print Screen)인데, 윈도우를 새로 설치하고 픽픽을 설치했더니 프린트 스크린 키를 눌렀을 때 픽픽으로 캡처하지 않고 캡처 도구가 뜬다. 이게 너무 불편하여 ...

윈도우 / 안전 모드

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

윈도우 11 / 저장 공간 센스

윈도우 11 / 저장 공간 센스

저장 공간 센스 저장 공간 센스는 Windows 11에 내장된 자동 관리 도구로, 시스템 내 불필요한 파일을 자동으로 정리하여 디스크 공간을 확보해 주는 기능입니다. 이 기능은 사용자가 설정한 규칙에 따라 주기적으로 실행되며, 아래와 같은 작업을 수행합니다. 임시 파일 정리 임시 시스템 및 앱 파일을 자동으로 정리하여 Windows가 원활하게 실행되도록 합니다. 자동 사용자 콘텐츠 정리 휴지통, 다운로드 ...

윈도우 / ADMIN$, C$ 제거하는 방법, 복원하는 방법

윈도우 / ADMIN$, C$ 제거하는 방법, 복원하는 방법

윈도우에는 기본적으로 공유되는 폴더가 있다. ADMIN$, C$, IPC$인데, 보안 등 여러 가지 이유로 공유를 중지해야 할 때가 있다. 공유를 중지하는 방법에 대하여 알아본다. 공유 폴더 확인 하기 방법 1 에서 확인할 수 있다. 방법 2 CMD 창을 실행 후 다음과 같이 명령하면 공유 폴더 목록이 나온다. net ...

윈도우 10 / 초기화 하는 방법

윈도우 10 / 초기화 하는 방법

보통 윈도우 10을 다시 설치한다고 하면, 설치 USB를 만들어서 USB로 부팅하고, 포맷하고 설치하는 것을 생각하는데, 이미 윈도우가 설치되어 있는 상태라면 그럴 필요가  없다. 윈도우 10에는 초기화 기능이 있어서, 아무것도 준비할 거 없이 깨끗한 상태로 만들 수 있다. 파일을 유지하는 옵션이 있기는 하지만, 중요한 파일은 백업하는 것이 좋다. 초기화하는 방법은... 을 연다.(단축키는 WIN+I) [업데이트 및 ...

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

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

윈도우 11 / 드라이브 최적화하는 방법

윈도우 11 / 드라이브 최적화하는 방법

윈도우 11의 드라이브 최적화 기능은 저장 장치(SSD, HDD 등)의 성능을 유지하고 데이터를 보다 효율적으로 접근할 수 있도록 돕는 기능입니다. 디스크 조각 모음(Defragmentation) 또는 TRIM 명령을 통해 이루어집니다.

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

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

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

윈도우 10 / 방화벽 해제하는 방법

윈도우 10 / 방화벽 해제하는 방법

방화벽은 네트워크 간에 주고 받는 트래픽을 허용 또는 차단한다. Windows 10에도 기본적으로 방확벽이 있다. 그리고 활성화되어 있다. 특별한 이유가 없는 한 방화벽은 켜는 것이 좋다. 허용 또는 차단할 포트가 있다면 개별적으로 설정하는 것이 좋다. 만약 어떤 이유로 인해 방화벽 자체를 꺼야 한다면, 즉 모든 트래픽을 허용해야 한다면, 다음 두 가지 방법으로 할 ...