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

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

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

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

윈도우 10 / ISO 파일 열고 사용하는 방법

윈도우 10 / ISO 파일 열고 사용하는 방법

ISO 파일은 CD 또는 DVD를 하나의 파일로 만든 것이다. Virtual DVD 같은 가상 드라이브 프로그램으로 마운트하여 일반 CD처럼 사용할 수 있다. 만약 윈도우 10을 사용하고 있다면, 별도의 소프트웨어를 설치할 필요 없이 윈도우에 포함된 기능으로 ISO 파일을 열고 닫을 수 있다. ISO 파일 열기 ISO 파일에 마우스를 올리고 우클릭한다. 팝업메뉴에서 를 클릭한다. 마치 CD를 넣은 것처럼 ...

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

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

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

윈도우 10 / 부팅, 다시 시작할 때 종료하지 않았던 앱 열리지 않게 하는 방법

윈도우 10 / 부팅, 다시 시작할 때 종료하지 않았던 앱 열리지 않게 하는 방법

컴퓨터를 켜거나 재부팅할 때 종료하지 않은 앱이 시작되는 경우가 있습니다. 예를 들어 크롬을 열고 인터넷 서핑을 하다가 재부팅을 하면 크롬이 자동으로 실행되는 것이죠. 이 기능은 상황에 따라 좋기도 하고 나쁘기도 합니다. 내가 어떤 프로그램으로 무엇을 했는지 알리고 싶지 않다면 나쁜 기능이 되는 거죠. 딱히 뭐라고 이름을 붙이기 힘든 이 기능을 켜거나 끄는 ...

윈도우 / CMD(명령 프롬프트)와 PowerShell 비교

윈도우 / CMD(명령 프롬프트)와 PowerShell 비교

CMD(명령 프롬프트)와 PowerShell은 모두 Windows 운영 체제에서 사용되는 명령 줄 인터페이스(CLI) 도구이다. 두 도구는 다양한 작업을 수행할 수 있지만, 기능과 설계 철학 측면에서 많은 차이점이 있다. 아래는 CMD와 PowerShell의 주요 비교 사항이다. CMD(명령 프롬프트) 역사 및 배경 초기 도구 : CMD는 MS-DOS 시절부터 사용된 명령 줄 인터페이스의 연장선이다. 전통적인 사용 : 기본적인 파일 및 ...

윈도우 11 / 원격 데스크톱 / 연결 허용하는 방법

윈도우 11 / 원격 데스크톱 / 연결 허용하는 방법

원격으로 다른 컴퓨터에 들어가는 방법은 여러 가지가 있습니다. 그 중 가장 간단히 사용할 수 있는 것은 윈도우에 포함된 원격 데스크톱입이다. 별도의 소프트웨어를 설치할 필요 없이 활성화만 시켜주면 됩니다.(단, Windows Home 에디션에는 이 기능이 없으므로, Pro 이상의 에디션을 구입하거나 다른 방법을 찾아야 합니다.) 원격 데스크톱으로 연결되는 것을 허용하는 것은 입니다.) 왼쪽에서 ...

윈도우 11 / 작업 표시줄 / 위젯 끄는 방법

윈도우 11 / 작업 표시줄 / 위젯 끄는 방법

윈도우 11 작업 표시줄 왼쪽에 위젯 버튼이 있습니다. 마우스를 올리거나 클릭하면 위젯이 나옵니다. 위젯이 필요 없다면 설정에서 없앨 수 있습니다. 을 비활성화하면 됩니다.

윈도우 11 / 시스템 요구 사항

윈도우 11을 설치하려면 시스템 요구 사항을 만족해야 합니다. 만족하지 못하면 설치 자체를 할 수 없습니다. 그러한 컴퓨터라면 윈도우 10을 설치해야 합니다. 그런데 윈도우 10도 곧 EOS됩니다. 윈도우 10의 지원 종료(EOS)는 2025년 10월 14일로 예정되어 있습니다. 이 날짜 이후로 Microsoft는 윈도우 10에 대한 보안 업데이트나 기술 지원을 제공하지 않게 됩니다. 현재 사용 중인 ...

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

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

대부분의 노트북에는 터치 패드를 끄는 펑션 키가 있다. 마우스가 연결되어 있으면 터치 패드를 사용할 일이 별로 없고, 노트북 키보드를 칠 때 터치 패드를 건드리는 경우가 많기 때문일 것이다. 그런데 간혹 터치 패드 끄는 펑션 키가 없기도 하다. 그런 경우 윈도우 설정에서 터치 패드를 끌 수 있다. 윈도우 설정을 연다.(단축키는 WIN + I) 왼쪽에서 ...