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 / 메일 / 네이버 메일 추가하는 방법

네이버는 PC에서 사용하는 전용 메일 프로그램이 없습니다. 하지만 IMAP을 지원하므로 아웃룩 등 메일 클라이언트 프로그램으로 메일을 주고 받을 수 있습니다. 윈도우 10에 있는 메일 앱에 네이버 계정을 추가하는 방법을 알아보겠습니다. 네이버 메일 설정 네이버 메일의 으로 설정합니다. 메일 앱에 네이버 계정 추가 윈도우 10에서 메일 앱을 엽니다. 찾기 ...

윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법

윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법

Windows 11의 많은 설정을 Windows 설정에서 할 수 있지만, 아직도 제어판이 필요한 경우가 있습니다. 윈도우 11에서 제어판을 여는 방법과 바탕화면에 추가하는 방법을 알려드립니다.

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우에서 파일을 삭제하면 휴지통으로 이동한다. 표현은 삭제지만 다른 폴더로 이동하는 것과 다를 바 없다. 휴지통에 있는 파일은 온전한 것이므로 복원이 가능하고, 휴지통에서 삭제해야 완전히 삭제된다. 휴지통 비우기를 해도 해당 파일이 존재했던 부분에 다른 파일을 쓰지 않았다면, recuva 같은 삭제 파일 복구 프로그램으로 복구를 할 수 있다. 휴지통은 최대 한도가 있는데, 그 한도는 ...

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

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

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

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

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

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

윈도우 / 텔넷 클라이언트 설치하는 방법

윈도우 / 텔넷 클라이언트 설치하는 방법

윈도우에서 telnet 명령어를 사용하기 위해서는 텔넷 클라이언트 기능을 추가해야 합니다. 윈도우에서 텔넷 클라이언트를 추가하는 방법은 다음과 같습니다. 윈도우 10에서 텔넷 클라이언트 기능 추가하기 제어판을 엽니다. 윈도우 10 / 제어판 여는 방법, 바탕화면에 추가하는 방법 을 클릭합니다. 를 클릭합니다. 을 클릭합니다. 잠시 기다리면 설치가 완료됩니다. 윈도우 11에서 텔넷 클라이언트 기능 추가하기 제어판을 엽니다. 윈도우 11 / ...

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11에서 프로그램을 제거하는 방법 세 가지를 소개한다. 방법 1이 제일 편하고, 방법 1 또는 방법 2로 제거되지 않을 때 방법 3으로 해결되는 경우가 간혹 있다. 방법 1 또는 방법 2에 나오는 프로그램 목록과 방법 3에 나오는 프로그램 목록이 다르다. 방법 1 시작 메뉴에서 프로그램 아이콘에 마우스를 올리고 우클릭한다. 를 클릭한다. 방법 2 윈도우 설정을 연다. 단축키는 ...

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

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

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

윈도우 10 / Windows 설정 창을 여는 방법 두 가지

윈도우 10 / Windows 설정 창을 여는 방법 두 가지

윈도우 사용과 관련된 설정은 Windows 설정에서 합니다. Windows 설정 창을 여는 방법은 여러 가지가 있는데, 그 중 두 가지 방법을 소개해드리겠습니다. 윈도우 11 / 설정을 여는 세 가지 방법 단축키로 열기 를 누르면 설정 창이 열립니다. 시작 메뉴에서 열기 왼쪽 아래에 있는 시작 아이콘을 누르면 그 위에 톱니바퀴 모양의 설정 아이콘이 있습니다. 그 아이콘을 클릭하면 ...

다른 서버나 컴퓨터의 포트가 열렸는지 확인하는 방법

다른 서버의 특정 포트가 열려 있는지 알아야 할 때가 있습니다. 윈도우와 리눅스에서 확인하는 방법을 정리합니다. 윈도우 telnet 명령어 이용하는 방법 텔넷 클라이언트 기능을 추가합니다. 명령 프롬프트(CMD) 또는 PowerShell에서 다음과 같이 명령합니다. google.com의 443 포트가 열렸는지 확인하는 것입니다. C:\Users\JB>telnet google.com 443 포트가 열려 있다면 아무 내용 없는 창이 나옵니다. 만약 닫혀 있다면 아래와 같이 연결하지 못한다는 메시지가 나옵니다. C:\Users\JB>telnet ...