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 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10에서 왼쪽 밑에 있는 시작 버튼을 클릭하면 시작 메뉴와 화면이 주욱 올라옵니다. 설치한 앱과 프로그램 목록이 있고, 자주 사용하는 프로그램은 시작 화면에 등록해둘 수 있죠. 시작 메뉴의 왼쪽에는 전원, 설정 등의 아이콘이 있는데 공간에 비해 아이콘이 몇 개 없습니다. 좀 허전하죠? 그 곳에 자주 접근하는 폴더를 등록해놓고 활용할 수 있습니다. [Win + ...

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

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

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

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

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

윈도우 11 메모장에서 파일 저장, 텍스트 편집, 찾기·바꾸기, 탭 전환과 화면 확대에 사용하는 단축키를 기능별로 정리했습니다. 자주 혼동하는 탭 닫기와 창 닫기의 차이, 단축키가 작동하지 않을 때 확인할 점도 설명합니다.

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11에서 작업 관리자를 여는 방법은 여러 가지가 있으며, 각각의 방법은 사용자의 필요와 상황에 따라 다르게 적용될 수 있습니다. 작업 관리자는 시스템 성능을 모니터링하고, 실행 중인 프로세스를 관리하며, 필요할 때 응답하지 않는 프로그램을 강제로 종료할 수 있는 유용한 도구입니다.

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

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

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

윈도우 11 / 배경 화면, 잠금 화면 변경하는 방법

윈도우 11 / 배경 화면, 잠금 화면 변경하는 방법

윈도우 11 배경화면은 사용자 컴퓨터의 바탕화면에 표시되는 이미지 또는 색상을 말합니다. 배경화면은 사용자 환경의 시각적 경험을 개인화하고, 더 나아가 심미적 만족감을 제공하는 요소 중 하나입니다. 잠금 화면은 컴퓨터가 잠금 상태일 때 사용자에게 표시되는 화면입니다. 이는 시스템 보안을 강화하고 개인 정보를 보호하기 위한 기능 중 하나입니다.

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

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

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

윈도우 10 / 제품 키 변경, 제품 에디션 변경

윈도우 10 / 제품 키 변경, 제품 에디션 변경

윈도우 10의 제품 키를 변경해야 할 때가 있습니다. 메인보드 등 주요 부품이 바뀌어서 새 라이선스 키를 넣어야 할 때도 있고, Windows 10 Home에서 Windows 10 Pro로 에디션 업그레이드를 해야 할 때도 있고... 흔한 경우는 아니지만 작업이 필요할 때가 있습니다. Windows 10에서는 Windows Home에서 Windows Pro로, Windows Pro에서 Windows Enterprise로 변경할 때 포맷하고 ...

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

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

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

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

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

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