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를 원격에서 접속하여 제어하는 가장 간단한 방법은 원격 데스크톱을 이용하는 것이다. 접속을 받는 PC에서는 원격 데스크톱 연결을 허용해주고, 접속을 하는 PC에서는 원격 데스크톱 연결 앱으로 접속한다. 접속은 받는 PC는 Windows Pro 이상의 에디션이어야 한다. 즉, Windows Home은 지원하지 않는다. 원격 데스크톱 연결 허용하는 방법 접속을 받는 PC에서 Windows 설정을 연다. 단축키는 WIN+I이다. 을 클릭합니다. 왼쪽에서 ...

윈도우 11 / 가상 데스크톱과 작업 보기

윈도우 11 / 가상 데스크톱과 작업 보기

컴퓨터는 멀티태스킹을 지원한다. 동시에 여러 가지 프로그램을 띄워 놓고 작업하는 것이 가능하다. 요즘은 너무나 당연한 것이지만, 아주 예전에는 한 번에 하나의 프로그램만 실행할 수 있었다. 멀티태스킹의 단점은 너무 많은 프로그램을 실행했을 때 프로그램 간 전환이 불편하다는 것이다. 이럴 때 유용한 것이 가상 데스크톱이다. 1번 데스크톱에는 파워포인트와 엑셀, 2번 데스크톱에는 포토샵과 일러스트레이터와 ...

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

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

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

윈도우 / 안전 모드

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

윈도우 11 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

윈도우 11 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

윈도우 11에서 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법 두 가지를 알려드립니다. 윈도우 11 버전에 따라 가능한 방법이 다른데, 방법 1에서 안내하는 메뉴가 없으면 방법 2를 사용하면 됩니다.

윈도우 10 / 시작프로그램 / 사용, 사용 안 함 설정하는 방법

윈도우 10 / 시작프로그램 / 사용, 사용 안 함 설정하는 방법

방법 1 작업표시줄에 마우스를 올리고 우클릭합니다. 를 클릭합니다. 을 클릭합니다. 사용하지 않는 것을 선택 후 을 클릭하거나... 사용하는 것을 선택하고 을 클릭합니다. 방법 2 Windows 설정을 엽니다.(단축키 Win+I) 을 클릭합니다. 을 클릭합니다. 사용하고 싶은 것은 켜고, 사용하지 않을 것은 끕니다.

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

PC에 저장 공간이 부족하면 디스크를 추가한다. 외장 하드를 이용하는 방법도 있지만, 메인보드에 디스크를 붙이는 것이 좀 더 안정적이고 속도가 빠르다. 요즘 출시된 노트북은 디스크를 추가할 수 있는 여유 공간이 제공되는 것이 많아, 가벼운 SSD를 추가하면 저장 공간이 작다는 노트북의 단점이 사라진다. 디스크를 추가하면 몇 가지 작업이 필요한데, 윈도우 11에서 어떻게 하는지 ...

윈도우 11 / Hyper-V / 기능 추가하는 방법

윈도우 11 / Hyper-V / 기능 추가하는 방법

Hyper-V는 마이크로소프트가 개발한 하이퍼바이저 기반 가상화 플랫폼으로, 여러 운영 체제를 동시에 실행할 수 있는 환경을 제공합니다. 주로 서버 가상화에 사용되며, 물리적인 하드웨어 자원을 가상 머신(VM) 간에 효율적으로 분배할 수 있습니다. Hyper-V는 Windows Server 및 Windows Pro 이상 버전에서 사용할 수 있으며, 강력한 관리 도구와 높은 확장성을 갖추고 있어 기업 환경에서 ...

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

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

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

윈도우 11 / 업데이트하는 방법

윈도우 11 / 업데이트하는 방법

윈도우 업데이트는 PC의 보안, 안정성, 성능을 유지하기 위해 꼭 필요합니다. Microsoft는 정기적으로 보안 취약점을 수정하는 패치를 배포하며, 이를 설치하지 않으면 해킹, 악성코드 감염, 개인정보 유출 등의 위험이 커질 수 있습니다. 또한 업데이트를 통해 프로그램 오류, 블루스크린, 시스템 멈춤 현상 등 다양한 버그가 수정되어 안정적인 사용 환경을 제공받을 수 있습니다. 성능 개선도 ...