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 / Hyper-V / 기능 추가하는 방법

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

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

윈도우 10 / CPU 100% 해결하는 방법

윈도우 10 / CPU 100% 해결하는 방법

윈도우 10에서 CPU 사용률이 100%에 도달하는 문제는 시스템 성능을 저하시킬 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 시도해 볼 수 있습니다. 작업 관리자에서 문제 프로세스 확인 가장 먼저 해야 할 일은 작업 관리자를 사용하여 CPU 사용량이 높은 프로세스를 찾는 것입니다. Ctrl + Shift + Esc를 눌러 작업 관리자를 엽니다. 프로세스 탭에서 CPU 열을 ...

윈도우 11 / 메모장 / 글꼴 변경하는 방법, 자동 줄 바꿈 하는 방법

윈도우 11 / 메모장 / 글꼴 변경하는 방법, 자동 줄 바꿈 하는 방법

자동 줄 바꿈 하는 방법 윈도우 11에 포함된 메모장은 기본 설정이 자동 줄 바꿈을 하지 않는 것이다. 따라서 줄 바꿈 없는 긴 텍스트가 있다면 좌우 스크롤이 생기고, 스크롤해야 볼 수 있다. 만약 이게 불편하다면 을 클릭한다. 그러면 다음과 같이 바뀐다. 글꼴 설정하는 방법 메모장의 기본 글꼴이 불편할 수 있다. 예를 들어 코드 ...

윈도우 11 / 터미널 / 사용법 / SSH 접속하는 방법

윈도우 11 / 터미널 / 사용법 / SSH 접속하는 방법

SSH로 리눅스에 접속할 때 보통 Putty 같은 전용 프로그램을 사용합니다. 하지만 윈도우의 명령 프롬프트(CMD)나 파워쉘(PowerShell)에서도 SSH 접속이 가능합니다. SSH에 접속하는 방법, 터미널을 이용하여 접속 정보를 저장하는 방법을 알아봅니다. SSH 접속하는 방법 터미널을 실행하고, 명령 프롬프트 또는 Windows PowerShell을 엽니다. 예를 들어 192..168.3.245에 root 계정으로 접속하고 싶다면 다음과 같이 명령합니다. ssh root@192.168.3.245 암호를 입력하고 로그인합니다. SSH 포트가 22가 ...

윈도우 11 / 언어 변경하는 방법

윈도우 11 / 언어 변경하는 방법

예전에는 윈도우 한글판, 윈도우 영문판 따로 판매했던 거 같다. 그래서 한글판을 쓰다가 영문판을 쓰고 싶다면 새로 구입해야 했던 거 같은데... 아니면 구입은 할 필요 없고 영문 버전으로 설치를 새로 했어야 했던가? 기억이 가물가물하다. 그런데 지금은 언어 변경이 상당히 쉽니다. 설정에서 언어 파일 설치하고 기본 언어를 선택하면 끝... 윈도우 11이라면 아래의 순서로 ...

윈도우 / 안전 모드

윈도우의 안전 모드(Safe Mode)는 운영 체제에서 문제가 발생했을 때 이를 진단하고 해결하기 위한 특별한 부팅 옵션입니다. 안전 모드에서는 윈도우가 기본적인 파일과 드라이버만 로드하며, 문제의 원인을 찾고 수정하는 데 유리한 환경을 제공합니다. 안전 모드에서는 비필수적인 소프트웨어와 드라이버는 실행되지 않으므로, 충돌 문제나 시스템 오류를 최소화할 수 있습니다. 안전 모드의 주요 기능과 목적 필수적인 기능만 ...

윈도우 10 / 공유 폴더 만드는 방법

윈도우 10 / 공유 폴더 만드는 방법

공유 폴더 만드는 방법 공유할 폴더를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 을 클릭합니다. 를 클릭합니다. 현재 로그인한 사용자가 소유자로, 공유 폴더에 접근 가능합니다. 다른 사용자를 추가하고 싶다면 선택 목록을 클릭합니다. 사용자를 선택하고, 추가한 다음... 역삼각형 아이콘을 클릭하여... 권한을 적절히 선택합니다. 를 클릭합니다. 적절히 선택합니다. 를 클릭해도 됩니다. 공유 설정이 완료되었습니다. 공유 폴더에 접근하는 방법 같은 네트워크 안에 있는 다른 PC에서 파일 ...

윈도우 11 / CPU 온도 측정하는 방법

윈도우 11 / CPU 온도 측정하는 방법

CPU 온도는 컴퓨터 성능과 안정성에 중요한 영향을 미칩니다. 과열된 CPU는 시스템 성능 저하, 불안정한 작동, 심지어는 하드웨어 손상까지 초래할 수 있습니다. 윈도우 11에서 CPU 온도를 측정하는 여러 방법을 통해 시스템 상태를 모니터링하고 적절한 조치를 취할 수 있습니다. BIOS/UEFI를 통해 CPU 온도 측정 BIOS 또는 UEFI는 컴퓨터가 부팅될 때 실행되는 기본 시스템 소프트웨어로, ...

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10의 메일 앱에 지메일을 추가하는 방법입니다. 예전에 여러 가지 설정이 필요했었는데, 지금은 간단히 추가할 수 있습니다. 메일 앱을 실행합니다. 메일 앱을 처음 사용하는 거라면 다음과 같이 계정을 추가하라는 창이 나옵니다. 를 클릭합니다. 계정을 처음 추가하는 게 아니라면, 설정에서 추가할 수 있습니다. 구글 계정을 입력합니다. abc@gmail.com으로 입력해도 되고 abc만 입력해도 됩니다. 을 클릭합니다. 비밀번호를 입력하고 을 클릭합니다. 권한이 ...

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

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

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