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

기타

 

같은 카테고리의 다른 글

윈도우 / 명령어 / SC - 서비스를 관리하는 명령어

윈도우 운영체제에서는 다양한 시스템 서비스가 백그라운드에서 실행되며, 이러한 서비스는 시스템의 성능과 안정성을 유지하는 데 중요한 역할을 합니다. SC(Service Controller) 명령어는 이러한 서비스를 관리하는 강력한 도구로, 서비스를 시작, 중지, 설정 변경, 삭제 등 다양한 작업을 수행할 수 있습니다. SC를 사용할 때 일부 명령은 관리자 권한을 필요로 합니다. 따라서 관리자 권한으로 명령 프롬프트(CMD)를 ...

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

네이버는 PC에서 사용하는 전용 메일 프로그램이 없습니다. 하지만 IMAP을 지원하므로 아웃룩 등 메일 클라이언트 프로그램으로 메일을 주고 받을 수 있습니다. 윈도우 10에 있는 메일 앱에 네이버 계정을 추가하는 방법을 알아보겠습니다. 네이버 메일 설정 네이버 메일의 으로 설정합니다. 메일 앱에 네이버 계정 추가 윈도우 10에서 메일 앱을 엽니다. 찾기 ...

Windows 10 ESU(Extended Security Updates)

Windows 10 ESU(Extended Security Updates)

Windows 10 ESU(Extended Security Updates)는 마이크로소프트가 Windows 10의 공식 지원 종료 이후에도 보안 업데이트를 계속 제공하는 유료 지원 프로그램입니다. Windows 10의 공식 지원은 2025년 10월 14일에 종료됩니다. 지원 종료 이후에는 새로운 기능 업데이트는 물론 일반적인 보안 패치도 제공되지 않습니다. 하지만 기업이나 개인이 Windows 11로 즉시 전환하기 어려운 경우를 위해 ESU 프로그램이 ...

윈도우 11 / 디스크 관리 / 스팬 볼륨 만드는 방법

윈도우 11 / 디스크 관리 / 스팬 볼륨 만드는 방법

256GB 디스크 두 개 있는 것과 512GB 디스크 한 개 있는 것은, 총 크기는 같지만 다른 점이 있습니다. 전자의 경우는 300GB 크기의 파일을 저장할 수 없습니다. 런 경우 스팬 볼륨을 이용하여 256GB 디스크 두 개를 묶어서 하나처럼 사용할 수 있습니다.

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

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

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

윈도우 10 / 비밀번호 변경하는 방법, 자동 로그인 하는 방법

윈도우 10 / 비밀번호 변경하는 방법, 자동 로그인 하는 방법

비밀번호 변경하는 방법 여럿이 같이 사용하는 PC라면 비밀번호를 주기적으로 변경하는 것이 좋습니다. 귀찮기는 하지만, 어디서 변경하는지만 알면 금방 끝낼 수 있습니다. Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 를 클릭합니다. 을 클릭합니다. 현재 암호를 입력하고 을 클릭합니다. 새로운 암호와 암호 힌트를 입력합니다. 암호 힌트는 필수 항목이어서 입력하지 않으면 다음 단계로 가지 못합니다. 입력을 ...

윈도우 / CMD 창 여는 세 가지 방법

윈도우 / CMD 창 여는 세 가지 방법

윈도우를 사용하다보면, 파워 유저가 아니더라도 명령어를 시용할 때가 간혹 있다. 보통 CMD 창이라 부르는 것에서 작업하는데, 해당 창을 여는 방법은 여러 가지가 있다. 그 중 세 가지를 소개한다. 방법 1 - 실행 창에서 열기 아이콘에 마우스를 올리고 우클릭한다. 을 클릭한다. cmd를 입력하고 엔터키를 누른다. 실행 창을 여는 단축키는 WIN+R이다. 방법 2 - 검색에서 열기 을 클릭한다. cmd로 ...

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

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

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

윈도우 11 / 네트워크 초기화하는 방법

윈도우 11 / 네트워크 초기화하는 방법

윈도우 11에서 네트워크 초기화(Network Reset)는 인터넷 연결 문제를 해결할 때 매우 효과적인 방법입니다. 네트워크 초기화는 다음 설정을 모두 초기 상태로 되돌립니다.

윈도우 10 / 터치 패드 끄는 방법

윈도우 10 / 터치 패드 끄는 방법

노트북에 키보드와 마우스를 연결하고 사용할 때, 터치 패드가 작동하면 불편할 수 있다. 노트북에서 펑션 키를 제공하면 그 키로 비활성화하면 되고, 그렇지 않다면 설정에서 끌 수 있다. 설정을 연다.(단축키는 WIN+I) 를 클릭한다. 왼쪽에서 를 클릭하고, 오른쪽에서 설정한다. 터치 패드 밑에 있는 토글 버튼으로 켜거나 끌 수 있다. 켠 상태에서 의 ...