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 / ExplorerPatcher로 작업 표시줄 그룹화 해제하는 방법

윈도우 11 / ExplorerPatcher로 작업 표시줄 그룹화 해제하는 방법

윈도우 11 2023년 11월 업데이트에 작업 표시줄 그룹화 해제 기능이 추가되었다. 아래 프로그램을 쓰는 것보다는 윈도우를 업데이트하는 것이 좋다. 소프트웨어는 항상 최신 버전을 사용한다. 새 버전이 나오면 안정화될 때까지 잠시 기다렸다 사용하는 사람도 있지만, 나는 일단 업그레이드하고 본다. 윈도우 11도 그랬다. 정식 출시가 되자 마자 설치를 했다. 그러나 몇 시간 만에 다시 ...

윈도우 11 / 저장소 풀, 저장소 공간으로 여러 개 디스크 하나로 합치는 방법

윈도우 11 / 저장소 풀, 저장소 공간으로 여러 개 디스크 하나로 합치는 방법

컴퓨터에 여분으로 갖고 있는 128GB 디스크 2개, 256GB 디스크 1개를 창착했다. 그대로 사용해도 되기는 한데, 작은 크기 여러 개보다는 큰 크기 한 개가 더 좋을 때가 있다. 어떻게 하면 3개의 디스크를 합해서 512GB로 사용할 수 있을까? 윈도우 11의 저장소 기능을 이용하면 가능하다. 순서는 다음과 같다. 저장소 풀 만들기 저장소 공간 만들기 볼륨 만들기 윈도우 11의 ...

윈도우 10 / 설정을 여는 세 가지 방법

윈도우 10 / 설정을 여는 세 가지 방법

윈도우의 여러 설정이 으로 옮겨지고 있다. 이제는 제어판보다 설정을 더 많이 사용하는 거 같다. 윈도우 설정을 여는 세 가지 방법을 소개한다. 윈도우 10 / 제어판을 여는 세 가지 방법, 바탕화면에 추가하는 방법 방법 1 가장 기억하기 쉬운 방법이다. 그러나 메뉴를 찾기 위해 스크롤을 해야 한다. 시작 버튼을 클릭하여 시작 메뉴를 연다. 을 클릭한다. 시작 화면에 고정하거나 ...

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

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

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

윈도우 10 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10에서 왼쪽 밑에 있는 시작 버튼을 클릭하면 시작 메뉴와 화면이 주욱 올라옵니다. 설치한 앱과 프로그램 목록이 있고, 자주 사용하는 프로그램은 시작 화면에 등록해둘 수 있죠. 시작 메뉴의 왼쪽에는 전원, 설정 등의 아이콘이 있는데 공간에 비해 아이콘이 몇 개 없습니다. 좀 허전하죠? 그 곳에 자주 접근하는 폴더를 등록해놓고 활용할 수 있습니다. [Win + ...

윈도우 10 / IExpress / 자동 압축 풀기 실행 파일 만드는 방법

윈도우 10 / IExpress / 자동 압축 풀기 실행 파일 만드는 방법

IExpress는 윈도우 10에 포함된 자동 압축 풀기 또는 자동 설치 패키지를 만드는 프로그램입니다. 다음은 IExpress로 자동으로 압축이 풀리는 실행 파일을 만드는 방법입니다. 실행 창을 엽니다. 단축키는 WIN+R입니다. iexpress를 입력하고 엔터키를 누르거나 을 클릭합니다. 을 클릭합니다. 압축만 풀 것이므로 Extract files only를 선택하고 을 클릭합니다. 적절히 이름을 정하고 을 클릭합니다. 확인을 받거나 라이선스를 보여주는 기능도 있는데, 자동 ...

윈도우 11 / PowerToys / 사용법 / FancyZones

윈도우 11 / PowerToys / 사용법 / FancyZones

PowerToys의 FancyZones는 창을 배치를 도와주는 앱이다. 이다. 미리 정의된 레이아웃을 사용해도 되고, 새로 만들 수도 있다. 그리드 또는 캔버스 형식으로 만들 수 있고... 키보드와 마우스로 원하는 배치를 만들고 을 클릭한다. 레이아웃을 선택하면... 영역이 표시되고... Shift 키를 누른 채 창을 이동하면 그 영역에 배치된다. 더욱 자세한 사용법은 https://docs.microsoft.com/ko-kr/windows/powertoys/fancyzones에서 볼 수 있다.

윈도우 11 / 작업 표시줄 사라지는 문제 해결하는 방법

윈도우 11 / 작업 표시줄 사라지는 문제 해결하는 방법

윈도우 11에서 작업 표시줄이 사라지는 문제는 여러 가지 원인으로 발생할 수 있습니다. 다음은 이 문제를 해결하는 데 도움이 될 수 있는 몇 가지 방법입니다. 자동 숨김 설정 확인 작업 표시줄이 자동으로 숨겨지도록 설정되어 있는지 확인하세요. 작업 표시줄을 마우스 오른쪽 버튼으로 클릭합니다. 작업 표시줄 설정을 선택합니다. 작업 표시줄 동작에서 작업 표시줄 자동 숨기기 옵션이 켜져 있는지 ...

윈도우 10 / 저장소 공간, 저장소 풀

윈도우 10 / 저장소 공간, 저장소 풀

여러 개의 하드디스크를 하나처럼 사용하고 싶을 때, 일부 하드 디스크가 고장나도 데이터 손상이 없도록 만들고 싶을 때, 저장소 풀을 사용해보세요. 간단한 조작으로 하드 디스크의 활용도를 높일 수 있습니다. 저장소 풀 만들기 Windows 설정을 엽니다.(단축키 WIN+I) 을 클릭합니다. 왼쪽 메뉴에서 를 클릭합니다. 를 클릭합니다. 를 클릭합니다. 저장소 풀에 포함할 하드디스크를 선택하고 ...

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

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

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