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 빌드 넘버란? 윈도우 11 빌드 넘버는 운영체제의 세부 업데이트 상태를 나타내는 번호입니다. 같은 Windows 11이라도 설치된 기능 업데이트나 누적 업데이트에 따라 빌드 번호가 달라질 수 있습니다. 예를 들어 다음과 같은 형식으로 표시됩니다. Windows 11 Pro 24H2 OS 빌드 26100.xxxx 여기서 24H2는 윈도우 11의 기능 업데이트 버전이고, 26100.xxxx와 같은 숫자가 OS 빌드 넘버입니다. 뒤쪽의 ...

윈도우 11 / 터미널 / 사용법

윈도우 11 / 터미널 / 사용법

터미널 윈도우 11에는 터미널이라는 프로그램이 기본 설치되어 있습니다. 마이크로소프트의 오픈 소스 프로젝트로 개발되는 것으로, GitHub 주소는 다음과 같습니다. https://github.com/microsoft/terminal 소개는 다음과 같습니다. Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich ...

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

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

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

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

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

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

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

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

네트워크에 잘 연결되어 있는지 확인하는 방법 중의 하나는 ping을 날리는 것입니다. 그런데 윈도우 10은 기본적으로 ping에 대하여 응답하지 않는 것으로 설정되어 있습니다. 그래서 네트워크에 잘 연결되어 있어도 ping으로 확인을 할 수가 없습니다. 만약 ping으로 연결 상태를 확인해야 한다면, 다음의 방법으로 응답하도록 설정합니다. 제어판을 엽니다. 을 클릭합니다. 을 클릭합니다. 을 클릭합니다. 왼쪽에서 ...

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

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

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

윈도우 11 / 소리 없애는 방법

윈도우 11 / 소리 없애는 방법

윈도우 11을 시작할 때, 경고가 뜰 때, 메일이 왔을 때, 노트북 배터리가 부족할 때 등 여러 상황에서 소리가 난다. 내 방이면 상관없지만, 사무실이나 도서관 등이라면 소리가 나지 않게 해야 한다. 그렇다고 아예 무음으로 하면 불편할 수 있다. 그런 경우 특정 이벤트 발생 시 나는 소리만 없앨 수 있다. 오른쪽 아래에 있는 ...

윈도우 / Hyper-V / 가상 머신 1세대와 2세대 차이

윈도우 / Hyper-V / 가상 머신 1세대와 2세대 차이

Hyper-V에서 가상 컴퓨터를 만들 때 1세대와 2세대애서 선택하게 되어 있습니다. 1세대(Generation 1)와 2세대(Generation 2)는 가상 머신의 펌웨어 및 부트 방식, 하드웨어 기능 지원 방식에 차이가 있습니다.

윈도우 11 / PowerToys / 설치

윈도우 11 / PowerToys / 설치

PowerToys는 Microsoft가 제공하는 유용한 유틸리티 모음이다. 현재 구성은 다음과 같다. Always On PowerToys Awake Color Picker FancyZones File Explorer Add-ons Image Resizer Keyboard Manager Mouse utilities PowerRename PowerToys Run Shortcut Guide Video Conference Mute 설치는 두 가지 방식으로 할 수 있다. GitHub에서 다운로드하여 설치하기 https://github.com/microsoft/PowerToys에 접속한 후 최신 릴리즈를 클릭한다. PC나 노트북이라면 보통 PowerToysSetup-0.6.1.1-x64.exe를 다운로드하면 된다. 다운로드한 파일을 실행하여 설치한다. 설치 후 실행하면 포함된 기능을 볼 수 있고, ...

윈도우 11 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

윈도우 11 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

윈도우 11의 기본 파일 관리 프로그램은 파일 탐색기입니다. 전문 프로그램보다는 기능이 적지만, 계속 개선되고 있습니다. 파일 탐색기를 여는 네 가지 방법을 소개합니다. 가장 편한 건 단축키입니다.