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를 원격에서 접속하여 제어하는 가장 간단한 방법은 원격 데스크톱을 이용하는 것이다. 접속을 받는 PC에서는 원격 데스크톱 연결을 허용해주고, 접속을 하는 PC에서는 원격 데스크톱 연결 앱으로 접속한다. 접속은 받는 PC는 Windows Pro 이상의 에디션이어야 한다. 즉, Windows Home은 지원하지 않는다. 원격 데스크톱 연결 허용하는 방법 접속을 받는 PC에서 Windows 설정을 연다. 단축키는 WIN+I이다. 을 클릭합니다. 왼쪽에서 ...

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

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

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

윈도우 10 / IP 확인하는 방법

윈도우 10 / IP 확인하는 방법

IP는 두 가지로 구분할 수 있습니다. 내 컴퓨터에 할당된 IP 외부와 통신하는 IP 보통 인터넷 공유기나 방화벽을 통하여 통신하므로, 내 컴퓨터에 할당된 IP와 외부와 통신하는 IP는 다릅니다. 예를 들어 다음과 같이 구성되어 있다면... 공유기의 IP가 외부와 통신하는 IP, 공유기가 컴퓨터에 할당한 IP가 내 컴퓨터에 할당된 IP입니다. 윈도우 10에서 두 가지 IP를 확인하는 방법을 알아봅니다. 내 컴퓨터에 ...

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

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

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

윈도우 / 버전, 빌드 넘버 확인하는 5가지 방법

윈도우 / 버전, 빌드 넘버 확인하는 5가지 방법

윈도우 버전을 확인하는 방법은 여려 가지가 있습니다. 그 중 5가지 방법을 소개합니다. 윈도우 10이나 11뿐 아니라 윈도우 서버에서도 가능한 방법입니다. 방법 1 - 설정에서 확인 을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 를 클릭하면, 오른쪽에서 버전을 확인할 수 있습니다. 방법 2 - Windows 정보 실행 창을 엽니다. 단축키는 WIN+R입니다. winver를 입력하고 엔터키를 누르거나 을 클릭합니다. 창이 ...

윈도우 10 / Autoruns / 시작 프로그램 관리하는 유틸리티

윈도우 10 / Autoruns / 시작 프로그램 관리하는 유틸리티

컴퓨터를 부팅하면 자동으로 시작되는 프로그램들이 있습니다. 컴퓨터 작동에 필수적인 프로그램도 있고, 사용이 편리하도록 미리 실행되는 프로그램도 있습니다. 만약 잘 사용하지 않는 프로그램이 자동으로 시작된다면 컴퓨터 자원이 낭비되는 것이겠죠. 그런 프로그램이 있다면 시작 프로그램에서 제외해주는 것이 좋습니다. 시작 프로그램을 관리하는 방법은 여러 가지인데, 그 중 하나는 Autoruns라는 프로그램을 이용하는 것입니다. This utility, which ...

윈도우 10 / 캡처 도구 / 사용법

윈도우 10 / 캡처 도구 / 사용법

컴퓨터 화면을 캡처해야할 때가 있다. 캡처하는 방법은 여러 가지가 있는데, 캡처 전용 프로그램을 이용하면 다양한 방식으로 캡처를 할 수 있다. 하지만, 단순한 캡처라면 윈도우 10에 포함된 캡처 도구를 이용하는 것도 좋다. 별도로 프로그램을 설치할 필요가 없기 때문이다. 캡처 도구 사용하는 방법 왼쪽 아래에 있는 돋보기 버튼을 클릭하고 '캡'을 입력하면 가 나온다.(검색 창 ...

윈도우 11 / 디스크 공간 확보하는 방법

윈도우 11 / 디스크 공간 확보하는 방법

윈도우 11을 사용하다 보면 디스크 공간이 부족해지는 상황을 겪을 수 있습니다. 이럴 때 불필요한 파일을 정리하고, 시스템을 최적화하는 것이 중요합니다. 윈도우에는 기본적으로 디스크 정리 도구가 내장되어 있어 불필요한 파일을 쉽게 삭제할 수 있습니다.

윈도우 10 / 원드라이브(OneDrive) / 저장 폴더 변경하는 방법

윈도우 10 / 원드라이브(OneDrive) / 저장 폴더 변경하는 방법

원드라이브는 마이크로소프트가 제공하는 클라우드 저장소입니다. 마이크로소프트 계정이 있으면 5G를 줍니다. 구글이 15G를 제공하는 것에 비하면 작은 용량이지만, 그래도 여러모로 활용할 수 있습니다. PC에 원드라이브 앱을 설치해서 클라우드와 PC를 동기화할 수 있는데, 기본 경로는 \Users\<username>\OneDrive입니다. 만약 이 경로가 마음에 들지 않는다면 다른 경로로 바꿀 수 있습니다. 원드라이브 아이콘을 클릭하고, 를 클릭한 후, ...

PowerShell / 메모

PowerShell / 메모

업그레이드 버전 확인 PS C:\> $PSVersionTable Name Value ---- ...