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 / 터치 패드 끄는 방법

대부분의 노트북에는 터치 패드를 끄는 펑션 키가 있다. 마우스가 연결되어 있으면 터치 패드를 사용할 일이 별로 없고, 노트북 키보드를 칠 때 터치 패드를 건드리는 경우가 많기 때문일 것이다. 그런데 간혹 터치 패드 끄는 펑션 키가 없기도 하다. 그런 경우 윈도우 설정에서 터치 패드를 끌 수 있다. 윈도우 설정을 연다.(단축키는 WIN + I) 왼쪽에서 ...

윈도우 10 / 암호 변경하는 세 가지 방법

윈도우 10 / 암호 변경하는 세 가지 방법

윈도우 10에서 비밀번호를 변경하는 방법은 여러 가지가 있다. 그 중 세가지를 소개한다. 방법 2가 가장 편하고, 현재 비밀번호를 모른다면 방법 3을 사용한다. 방법 1 을 연다.(단축키는 WIN+I) 을 클릭한다. 왼쪽에서 을 클릭한다. 를 클릭한다. 을 클릭한다. 현재 암호를 입력하고, 새 암호를 만든다. 방법 2 Ctrl+Alt+Del를 누른다. 화면이 바뀌면서 몇 가지 메뉴가 나오는데, 을 클릭힌다. 현재 암호를 입력하고 새 암호를 만든다. 방법 ...

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

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

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

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

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

일반적으로 마우스에는 단추가 두 개 있습니다. 왼쪽 버튼을 누르면 선택을 하거나 끌기를 할 수 있고, 오른쪽 버튼을 누르면 팝업 메뉴가 나옵니다. 오른손 잡이에게는 이 설정이 편한데, 왼손 잡이에게는 불편할 수 있습니다. 만약 마우스를 왼손으로 사용한다면 좌우 버튼의 기능을 바꾸어서 사용하면 됩니다. 윈도우 설정에서 변경 가능합니다. Windows 설정을 엽니다. 단축키는 [WIN + ...

윈도우 / hosts 파일 / 역할, 위치, 편집하는 방법

윈도우 운영체제에서 hosts 파일은 도메인 이름과 IP 주소 간의 매핑을 관리하는 중요한 시스템 파일입니다. 이 파일은 네트워크 트래픽을 제어하고, 특정 도메인 이름을 특정 IP 주소로 직접 연결하는 역할을 합니다. Hosts 파일이란? Hosts 파일은 텍스트 파일로, 도메인 이름을 IP 주소로 매핑하는 항목을 포함하고 있습니다. 네트워크 요청이 발생할 때, 윈도우 운영체제는 먼저 hosts 파일을 ...

윈도우 10 / Xbox Game Bar로 특정 창 동영상으로 녹화하는 방법

윈도우 10 / Xbox Game Bar로 특정 창 동영상으로 녹화하는 방법

예를 들어 엑셀 사용법에 대한 글을 적는다고 합시다. 화면을 캡처하고 텍스트를 넣어서 설명하는 방법도 있지만, 어떤 기능은 동영상으로 보여주는 게 더 효율적일 수 있습니다. 그런 경우 전체 화면이 아니라 엑셀이 실행되는 엑셀 창만 녹화하는 게 좋을 수 있는데요... 윈도우 10의 녹화 기능을 이용하면 쉽게 윈도우 녹화가 가능합니다. 단, 사용을 위해서는 기능을 활성화해야 ...

윈도우 10 / 마우스 / 포인터 크기 변경하는 방법

윈도우 10 / 마우스 / 포인터 크기 변경하는 방법

4K UHD 모니터를 샀습니다. 좋은 걸 사고 싶지만 너무 비싸서 가성비 제품을 선택했습니다. 모니터 크기는 28인치. 나름 만족하며 사용하고 있는데... 가장 불편한 건 마우스 포인터입니다. 해상도가 높다보니 마우스 포인터도 작고, 이리저리 휙휙 움직이다보면 마우스 포인터가 어디 있는지 찾을 수가 없습니다. 아래처럼요... 고양이 코 앞에 있는 하얀 점 같은 게 마우스 포인터입니다. 불편한 ...

윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

인터넷은 보통 유동 IP로 연결됩니다. 연결될 때마다 새로운 IP를 받는 것이죠. 그렇다고 부팅할 때마다 바뀌는 것은 아닙니다. 일정 시간 기다려주므로, 오랜 시간 껐다 켜는 게 아니라면 IP가 유지됩니다. 하지만, 어떠한 상황에서도 IP가 유지되는 게 필요할 때가 있습니다. 대표적인 경우는 외부에서 접속하고 싶을 때죠. IP가 정확하지 않으면 접속을 할 수 없습니다. 그런 ...

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

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

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

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

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

파일 탐색기에서 파일을 보면, 확장자가 보이지 않아도 아이콘과 유형으로 어떤 파일인지 확인할 수 있습니다. 그럼에도 불구하고 파일 이름에 확장자가 있는 게 더 작업하기 좋다면 보이게 할 수 있습니다.