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 / 자동 업데이트 끄는 방법

윈도우 10을 설치한 후 별도의 설정을 하지 않았다면 업데이트를 자동으로 합니다. 업데이트를 한 후에 사용자가 컴퓨터를 사용하지 않으면 스스로 재부팅을 하기도 하죠. 잠시 자리를 비웠는데 컴퓨터가 재부팅을 하고 한참동안 업데이트를 설치하는 일이 발생할 수 있습니다. 급하게 작업할 게 있다면 아주 당황스런 상황이 되는 거죠. 중요한 업데이트를 자동으로 하는 것이 좋기는 하지만, ...

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

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

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

윈도우 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 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

화면 배율은 화면에 표시되는 텍스트, 아이콘 및 기타 UI 요소의 크기를 조정하는 설정입니다. 배율을 조정하면 해상도는 동일하게 유지되지만, 디스플레이에 표시되는 내용의 크기가 변경됩니다. 화면 해상도는 화면에 표시되는 픽셀의 수를 나타냅니다. 가로 픽셀 수 × 세로 픽셀 수 형식으로 표현되며, 해상도가 높을수록 더 많은 픽셀이 사용되어 화면이 더 세밀하고 선명하게 보입니다. 새로 고침 ...

윈도우 11 / 작업 표시줄 / 단추 제거하는 방법

윈도우 11 / 작업 표시줄 / 단추 제거하는 방법

작업 표시줄에 자주 사용하는 프로그램을 등록해둔다. 프로그램을 가장 빠르게 실행할 수 있는 방법이 작업 표시줄의 아이콘을 클릭하는 것이기 때문이다. 만약 작업 표시줄에 등록한 프로그램을 제거하고 싶으면, 마우스 우클릭 후 를 클릭하면 된다. 그런데 몇 개의 아이콘은 그 방법으로 없어지지가 않는다. 검색, 작업 보기, 위젯, 채팅이 그런데, 그런 아이콘은 설정에서 ...

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

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

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

윈도우 11 / Windows 기능 켜기 끄기

윈도우 11 / Windows 기능 켜기 끄기

윈도우에는 처음 설치할 때는 설치되지 않는 여러 가지 기능들이 있습니다. Hyper-V, IIS 등 일반적으로는 사용하지 않으나, 개발자 등 파워 유저에게는 필요한 기능들입니다. 윈도우 11에서 그런 기능들을 추가하는 방법은 다음과 같습니다.

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

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

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

윈도우 10 / 안전 모드로 부팅하는 방법

윈도우 10 / 안전 모드로 부팅하는 방법

윈도우 10을 사용하다가 어떤 장애가 생기면 안전 모드로 부팅해서 문제를 해결해야할 경우가 있습니다. 마이크로소프트에서는 안전 모드를 다음처럼 설명하고 있습니다. 안전 모드는 제한된 파일과 드라이버만 사용하여 Windows를 기본 상태로 시작합니다. 안전 모드에서 문제가 발생하지 않는다면 기본 설정과 기본 디바이스 드라이버가 문제의 원인이 아니라는 것입니다. 안전 모드에서 Windows를 살펴보면 문제를 일으키는 원인의 범위를 ...