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

기타

 

같은 카테고리의 다른 글
윈도우 / 컴퓨터가 64비트인지 32비트인지 확인하는 방법

윈도우 / 컴퓨터가 64비트인지 32비트인지 확인하는 방법

UI 또는 명령어로 컴퓨터가 64비트인지 32비트인지 확인할 수 있다. 참고로, Windows 11은 64비트 컴퓨터에만 설치되므로, Windows 11이 설치된 컴퓨터는 볼 것도 없이 64비트이다. 방법 1 윈도우 11 을 연다.(단축키는 WIN + I) 를 클릭한다. 에서 64비트인지 32비트인지 확인할 수 있다. 윈도우 10 을 연다.(단축키는 WIN + I) 을 클릭한다. 를 클릭한다. 에서 64비트인지 32비트인지 확인할 수 있다. 방법 ...

윈도우 / 안전 모드

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

윈도우 11 / 프로그램 시작 화면 고정 제거, 작업 표시줄 고정 제거

윈도우 11 / 프로그램 시작 화면 고정 제거, 작업 표시줄 고정 제거

윈도우 11에서 시작 아이콘을 클릭했을 때 나오는 창을 시작 화면, 밑에 아이콘들이 모여있는 바를 작업 표시줄이라고 한다. 프로그램을 시작 화면에 고정을 시키면 아래 이미지에서 빨간 박스 안에 들어간다. 프로그램 아이콘을 시작 화면에 고정하고 제거하는 방법, 작업 표시줄에 고정하고 제거하는 방법을 알아보자. 시작 화면에 고정하고 제거하는 방법 프로그램 아이콘에 마우스를 올리고 마우스 우클릭한다. 팝업 메뉴에서 ...

윈도우 11 / 파일 탐색기 / 분류 없애는 방법

윈도우 11 / 파일 탐색기 / 분류 없애는 방법

파일 탐색기에는 정렬과 분류 기능이 있습니다. 정렬은 목록에 표시된 파일·폴더의 순서를 바꾸는 기능이고, 분류는 그룹화하는 기능입니다. 예를 들어 분류 기준을 수정한 날짜, 정렬 기준을 이름으로 하면, 날짜 기준으로 그룹화되고 그 안에서 이름을 기준으로 정렬합니다. 만약 분류가 불편하다면 다음과 같은 방법으로 해제할 수 있습니다.

윈도우 10 / 메모장 / 자동 줄 바꿈 하는 방법, 글꼴 변경하는 방법

윈도우 10 / 메모장 / 자동 줄 바꿈 하는 방법, 글꼴 변경하는 방법

자동 줄 바꿈 하는 방법 메모장은 기본적으로 긴 텍스트라 하더라도 줄 바꿈을 하지 않는다. 따라서 긴 텍스트의 경우 아래처럼 좌우 스크롤이 생긴다. 자동 줄 바꿈을 하고 싶다면 을 클릭한다. 이제 아래처럼 메모장 크기에 맞게 줄 바꿈이 된다. 글꼴 변경하는 방법 메모장의 기본 글꼴은 맑은 고딕이다. 다른 글꼴을 사용하고 싶다면 [서식 - ...

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

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

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

윈도우 10 / 시작프로그램 / 프로그램 등록하는 방법

윈도우 10 / 시작프로그램 / 프로그램 등록하는 방법

자주 사용하는 프로그램은 컴퓨터를 켬과 동시에 실행되도록 하는 것이 편합니다. 이렇듯 윈도우 부팅 시 자동으로 실행되는 프로그램을 시작프로그램이라고 하는데, 많은 소프트웨어가 설치할 때 시작프로그램에 등록됩니다. 금융 사이트 접속할 때 필요한 온갖 보안 프로그램이 대표적인 예입니다. 만약 자주 사용하는 프로그램인데 시작프로그램에 등록되어 있지 않다면 수동으로 등록시킬 수 있습니다. 레지스트리를 편집하는 방법과 시작프로그램 ...

윈도우 10 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

윈도우 10 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

윈도우에 기본적으로 포함된 파일 관리 프로그램은 파일 탐색기입니다. 파일 탐색기를 여는 방법은 여러 가지가 있습니다. 자주 사용하는 프로그램이니 다양한 방법을 알고 있으면 편하겠죠? 파일 탐색기를 여는 네 가지 방법을 소개합니다.

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

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

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

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

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