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 / 다운로드 하는 방법

Microsoft 홈페이지에서 윈도우 11을 다운로드하는 방법을 정리했습니다. 설치 미디어 만들기와 디스크 이미지(ISO) 다운로드, 두 가지 방식의 절차와 차이점은 물론 각 ISO에 포함된 에디션 구성까지 함께 확인할 수 있습니다.

윈도우 11 / 파일 탐색기 / 즐겨찾기 관리, 최근 항목 지우기

윈도우 11 / 파일 탐색기 / 즐겨찾기 관리, 최근 항목 지우기

파일 탐색기 왼쪽 위에 즐겨찾기가 있습니다. 몇 개의 폴더가 기본적으로 고정되어 있고, 자주 사용하는 폴더가 자동으로 추가되기도 합니다. 즐겨찾기에 수동으로 폴더를 추가하고 제거하는 방법, 그리고 최근에 사용할 파일 목록을 없애는 방법을 알아보겠습니다.

윈도우 10 / 파일 암호화하는 방법

윈도우 10 / 파일 암호화하는 방법

나만 봐야 하는 중요한 파일이 있다면 파일을 암호화하는 것이 좋습니다. 파일을 암호화하는 방법은 여러 가지가 있으나, 윈도우 10이라면 내장된 기능으로 암호화할 수 있습니다. 만약 파일 또는 폴더가 아니라 드라이브 전체는 보호하고 싶다면 BitLocker를 사용하세요. Windows 10 Pro 이상에서 사용할 수 있습니다. 파일 암호화 하기 암호화하려는 파일을 선택하고 마우스 우클릭합니다. 을 클릭합니다. 을 클릭하고... [데이터 보호를 위해 ...

윈도우 11 / 저장 공간 센스

윈도우 11 / 저장 공간 센스

저장 공간 센스 저장 공간 센스는 Windows 11에 내장된 자동 관리 도구로, 시스템 내 불필요한 파일을 자동으로 정리하여 디스크 공간을 확보해 주는 기능입니다. 이 기능은 사용자가 설정한 규칙에 따라 주기적으로 실행되며, 아래와 같은 작업을 수행합니다. 임시 파일 정리 임시 시스템 및 앱 파일을 자동으로 정리하여 Windows가 원활하게 실행되도록 합니다. 자동 사용자 콘텐츠 정리 휴지통, 다운로드 ...

윈도우 10 / 다중 모니터 사용시 메인 모니터에만 작업 표시줄 나오게 설정하는 방법

윈도우 10 / 다중 모니터 사용시 메인 모니터에만 작업 표시줄 나오게 설정하는 방법

컴퓨터 작업을 할 때 모니터를 여러 대 사용하는 게 유행입니다. 특히 노트북을 사용할 때는 화면이 작아서 큰 모니터를 연결해서 사용하는 경우가 많습니다. 윈도우의 디스플레이 확장 기능으로 여러 모니터를 사용하면, 각 화면마다 작업 표시줄이 나옵니다. 어떻게 보면 편한 기능이고, 어떻게 보면 불편한 기능입니다. 만약 모든 모니터에 작업 표시줄이 나오는 게 불편하다면, 설정에서 ...

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

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

자동 줄 바꿈 하는 방법 메모장은 기본적으로 긴 텍스트라 하더라도 줄 바꿈을 하지 않는다. 따라서 긴 텍스트의 경우 아래처럼 좌우 스크롤이 생긴다. 자동 줄 바꿈을 하고 싶다면 을 클릭한다. 이제 아래처럼 메모장 크기에 맞게 줄 바꿈이 된다. 글꼴 변경하는 방법 메모장의 기본 글꼴은 맑은 고딕이다. 다른 글꼴을 사용하고 싶다면 [서식 - ...

윈도우 10 / Windows.old 폴더 삭제하는 방법

윈도우 10 / Windows.old 폴더 삭제하는 방법

Windows.old 윈도우가 설치된 하드디스크를 보면 Windows.old라는 폴더가 있습니다. 윈도우 8 등 구버전에서 업그레이드 할 때, 윈도우 10을 업데이트할 때 만들어지는 폴더입니다. 구버전의 프로그램 정보를 담고 있는 폴더로, 현재 상태에 문제가 없어서 구버전으로 돌아갈 필요가 없다면, 필요 없는 폴더입니다. 만약 하드디스크의 용량이 부족하다면 Windows.old 폴더를 삭제해서 사용 가능한 디스크 용량을 늘릴 수 있습니다. Windows.old 폴더 ...

윈도우 10 / 원격 데스크톱 연결을 위한 절전 모드 해제 설정

윈도우 10 / 원격 데스크톱 연결을 위한 절전 모드 해제 설정

원격으로 윈도우 10 컴퓨터에 접속하는 가장 간단한 방법은 원격 데스크톱을 사용하는 겁니다. 특별히 설치할 것도 없고, 설정만 약간 변경해주면 됩니다. 원격 데스크톱 연결 허용은 에 들어간 다음... 를 켜면 됩니다. 그런데, 컴퓨터가 절전 모드라면 원격 접속이 되지 않습니다. 그래서 컴퓨터를 사용하지 않아도 절전 모드로 들어가지 않게 설정을 ...

윈도우 10 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

윈도우 10 / 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법

별도의 모니터를 연결해서 쓰는 경우, 원격으로 접속해서 쓰는 경우 등 노트북 덮개를 닫고 사용하는 게 편할 때가 있다. 그런데 보통의 경우 노트북 덮개를 닫으면 절전 모드로 들어간다. 덮개는 노트북을 장시간 사용하지 않을 때 주로 닫기 때문에 그렇게 설정되어 있다. 노트북 덮개를 닫아도 계속 사용하기 위해서는 전원 설정을 변경해주어야 한다. 방법은... 아래는 윈도우 ...

윈도우 11 / 메모장 / 다크 모드 설정하는 방법

윈도우 11 / 메모장 / 다크 모드 설정하는 방법

많은 텍스트 에디터의 기본 테마가 다크 모드이다. 윈도우 11의 메모장도 다크 모드로 변경할 수 있다. 윈도우 11 자체를 다크 모드로 하면 메모장도 다크 모드가 되는데, 윈도우 11 테마는 그대로 둔 채 메모장만 다크 모드로 변경할 수 있다. 메모장을 열고 오른쪽 위의 설정 아이콘을 클릭한다. 앱 테마를 로 설정하면... 어두운 배경에 글자가 밝게 나오는... 다크 모드로 변경된다. 윈도우 ...