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에서 사용자 암호를 제거하는 방법은 여러 가지가 있습니다. 상황에 따라 적절한 방법이 달라지겠지만, 가장 쉬운 방법은 다음과 같습니다.

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

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

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

윈도우 11 / 설치용 USB 만드는 방법

윈도우 11 / 설치용 USB 만드는 방법

윈도우 11 설치용 USB를 만드는 방법은 여러 가지가 있습니다. 그 중 마이크로소프트에서 제공하는 방법을 알려드리겠습니다. 준비할 것은 8GB 이상의 크기를 가진 USB입니다.

윈도우 11 / PING 허용하는 방법

윈도우 11 / PING 허용하는 방법

윈도우 11에서 Ping 요청을 허용하려면 Windows 방화벽에서 ICMP(Internet Control Message Protocol)를 허용하는 규칙을 설정해야 합니다. Ping은 네트워크 진단을 위한 중요한 도구이며, 이를 사용하려면 ICMP 요청을 허용해야 합니다. 기본적으로 Windows 방화벽은 ICMP 요청을 차단하도록 설정되어 있습니다. 윈도우 11에서 Ping 요청을 허용하는 방법은 다음과 같습니다. 방화벽으로 검색하고 을 실행합니다. [인바운드 ...

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

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

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

윈도우 10 / 컴퓨터 이름 변경하는 세 가지 방법

윈도우 10 / 컴퓨터 이름 변경하는 세 가지 방법

윈도우 10에서 컴퓨터 이름을 변경하는 방법 세 가지를 소개합니다. 어떤 방식으로 해도 컴퓨터를 재시작해야 반영됩니다. 방법 1 - 설정에서 변경 Windows 설정을 엽니다. 단축키는 입니다. 을 클릭합니다. 왼쪽에서 정보를 클릭합니다. 오른쪽에서 를 클릭합니다. 원하는 이름을 입력한 후 을 클릭하여 변경을 완료합니다. 방법 2 - 시스템 속성에서 변경 실행 창을 엽니다. 단축키는 입니다. sysdm.cpl을 실행합니다. 을 클릭합니다. 원하는 컴퓨터 이름을 ...

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

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

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

윈도우 10 / 명령 프롬프트(CMD) / 항상 관리자 권한으로 실행하는 방법

윈도우 10 / 명령 프롬프트(CMD) / 항상 관리자 권한으로 실행하는 방법

명령 프롬프트(CMD)를 관리자 권한으로 실행하는 경우가 많다면, 아예 항상 관리자 권한으로 실행되도록 설정할 수 있다. 아래는 윈도우 10 기준인데, 윈도우 11, 윈도우 서버도 방법은 같다. cmd로 검색하고 를 클릭한다. 을 클릭한다. 을 클릭한다. 을 클릭하여 설정을 저장한다.

윈도우 10 / 사진 앱 등 윈도우 기본 앱 초기화하는 방법

윈도우 10 / 사진 앱 등 윈도우 기본 앱 초기화하는 방법

윈도우 10의 기본 이미지 뷰어는 이에요. 처음엔 어색해서 잘 쓰지 않았는데, 몇 번 사용해보니 꽤 좋아요. 이미지를 보정하거나 편집할 수도 있고, 앨범을 만들 수도 있어요. 예전의 무비메이커처럼 사진들로 동영상을 만들 수도 있어요. 사진이 있는 폴더들을 추가하면, 모든 폴더의 사진들을 한 번에 볼 수 있는 것도 편해요. 그런데, 이런저런 작업을 하다보니 좀 꼬였나봐요. 설정이 ...

윈도우 11 / 파일 탐색기 / 파일 확장자 표시하는 방법

윈도우 11 / 파일 탐색기 / 파일 확장자 표시하는 방법

윈도우를 사용하다 보면 파일 확장자가 필요할 때가 있습니다. 그런데, 윈도우 기본 설정 하에서는 파일 탐색기에서 확장자가 보이지 않습니다. 확장자 정보가 자주 필요하다면 파일 확장자가 보이도록 설정을 변경할 수 있습니다. 파일 확장자는 파일 이름 끝에 붙는 ‘.txt’, ‘.jpg’, ‘.exe’ 같은 문자로, 해당 파일의 형식을 나타냅니다. 예를 들어 document.docx는 워드 문서, photo.jpg는 이미지 파일, ...