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

윈도우 11 / PowerToys / 사용법 / Always On

윈도우 11 / PowerToys / 사용법 / Always On

PowerToys의 Always On은 선택한 창이 항상 위에 있게 한다. 단축키는 이다. 창을 선택한 후 를 누르면 파란색 테두리가 생기면서 항상 다른 창보다 위에 있게 된다. 다시 한 번 를 누르면 해제된다.

윈도우 11 / 다크 모드 설정하는 방법

윈도우 11 / 다크 모드 설정하는 방법

모니터, 핸드폰, TV 등 많은 시간을 디스플레이를 보는 데 사용한다. 밝은 디스플레이는 선명하게 보이기는 하지만 눈의 피로를 유발한다. 그래서 다크 모드를 사용하는데... 근시를 유발하는 등 단점도 있다고 하지만, 눈이 덜 피로한 것은 맞는 거 같다. 윈도우 11을 다크 모드로 변경하는 것은 두 가지 방법이 있다. 테마를 변경하거나 색을 변경하는 것. 테마 변경 설정을 ...

윈도우 11 / 메모장 여는 세 가지 방법

윈도우 11 / 메모장 여는 세 가지 방법

윈도우 11의 메모장(Notepad)은 기본적인 텍스트 편집기로, 다양한 텍스트 파일을 열고 편집할 수 있습니다. 최신 버전의 메모장은 사용자 인터페이스와 기능면에서 몇 가지 향상이 있습니다. 윈도우 11에서 메모장을 여는 세 가지 방법을 알려드립니다.

윈도우 10 / 알람 및 시계 / 알람, 시계, 타이머, 스톱워치 앱

윈도우 10 / 알람 및 시계 / 알람, 시계, 타이머, 스톱워치 앱

15분 동안 뭘 끓여야 합니다. 15분이 넘으면 탈 수 있으므로 시간을 재야 합니다. 스마트폰에 있는 시계 앱으로 타이머를 맞추다가, 윈도우에서 비슷한 기능의 앱이 있을 거 같아 찾아봤습니다. 컴퓨터로 작업하고 있을 때는 컴퓨터에서 모든 걸 해결하는 게 편하니까요. 역시나 있었습니다. 이름은 알람 및 시계. 윈도우 설치 시 자동으로 설치되는 앱인가 봅니다. 따로 ...

윈도우 11 / 파일 탐색기 / 즐겨찾기 관리, 최근 항목 지우기

윈도우 11 / 파일 탐색기 / 즐겨찾기 관리, 최근 항목 지우기

파일 탐색기 왼쪽 위에 즐겨찾기가 있습니다. 몇 개의 폴더가 기본적으로 고정되어 있고, 자주 사용하는 폴더가 자동으로 추가되기도 합니다. 즐겨찾기에 수동으로 폴더를 추가하고 제거하는 방법, 그리고 최근에 사용할 파일 목록을 없애는 방법을 알아보겠습니다.

윈도우 11 / 마우스 / 왼손잡이 설정하는 방법

윈도우 11 / 마우스 / 왼손잡이 설정하는 방법

윈도우 11에서 마우스를 왼손잡이로 설정하는 방법은 다음과 같습니다. 설정을 엽니다.(윈도우 11 / 설정을 여는 세 가지 방법) 왼쪽에서 를 클릭합니다. 오른쪽에서 를 클릭합니다. 으로 설정합니다. 변경 사항이 즉시 적용되므로, 별도의 저장이나 재부팅 없이 바로 사용 가능합니다.

윈도우 10 / Sticky Notes / 포스트잇 프로그램

윈도우 10 / Sticky Notes / 포스트잇 프로그램

Sticky Notes 간단한 메모를 할 때 포스트잇을 많이 사용합니다. 포스트잇에 메모를 하고 눈에 잘 띄는 모니터 같은 곳에 붙여놓죠. 그러한 메모를 컴퓨터에서 할 수 있는 프로그램들이 있습니다. 그 중 하나가 Sticky Notes입니다. Sticky Notes의 가장 큰 특징은 마이크로소프트가 만들었고 윈도우 10에 포함되어 있다는 것입니다. 한마디로 접근성이 좋다는 것이죠. 윈도우 10 사용자라면 따로 무언가를 ...

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

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

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

윈도우 / 명령어 / 실행 창에서 프로그램 여는 명령어 모음

윈도우 / 명령어 / 실행 창에서 프로그램 여는 명령어 모음

실행 창(WIN+R) 또는 명령 프롬프트에서 명령어로 윈도우에 내장된 프로그램을 실행할 수 있다. 일반적인 사용자라면 클릭클릭으로 메뉴를 찾아가는 게 나을 수 있으나, 시스템을 구축하고 운영하는 사람이라면 명령어가 더 편할 수 있다. 대부분은 윈도우 11 같은 클라이언트 운영체제와 윈도우 서버 2022 같은 서버 운영체제에서 같이 사용할 수 있는데, 일부는 둘 중 하나에서만 가능하다. appwiz.cpl 프로그램 ...