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의 작업 표시줄 단추를 작게 만드는 설정이 추가되었습니다. 설정의 에서 설정할 수 있습니다. 항상, 작업 표시줄이 꽉 찼을 때, 안 함 중에서 선택하시면 됩니다.

윈도우 10 / 마우스 / 포인터 크기 변경하는 방법

윈도우 10 / 마우스 / 포인터 크기 변경하는 방법

4K UHD 모니터를 샀습니다. 좋은 걸 사고 싶지만 너무 비싸서 가성비 제품을 선택했습니다. 모니터 크기는 28인치. 나름 만족하며 사용하고 있는데... 가장 불편한 건 마우스 포인터입니다. 해상도가 높다보니 마우스 포인터도 작고, 이리저리 휙휙 움직이다보면 마우스 포인터가 어디 있는지 찾을 수가 없습니다. 아래처럼요... 고양이 코 앞에 있는 하얀 점 같은 게 마우스 포인터입니다. 불편한 ...

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

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

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

윈도우 11 / 초기화 하는 방법

윈도우 11 / 초기화 하는 방법

윈도우 11을 초기화하는 방법은 몇 가지가 있는데, 가장 편한 방법은 윈도우 11에 포함된 복구 기능을 이용하는 것입니다. 설치용 USB를 만들 필요도 없이, 몇 번의 클릭으로 초기화를 할 수 있습니다.

윈도우 10 / Microsoft Defender / 바이러스 검사하는 방법

윈도우 10 / Microsoft Defender / 바이러스 검사하는 방법

윈도우 10에는 디펜더라는 보안 프로그램이 기본적을 설치되어 있습니다. 특별한 설정을 하지 않았다면 실시간 검사를 하고 있을 겁니다. 만약 바이러스 감염이 의심된다면 수동으로 검사할 수 있습니다. 바이러스 검사를 하는 여러 방법을 알아보겠습니다. 파일 또는 폴더 검사 특정 파일 또는 폴더만 검사하고 싶다면, 파일 또는 폴더를 선택한 후 마우스 우클릭을 하세요. 팝업 메뉴에서 를 ...

윈도우 11 / 작업 표시줄 / 위젯 없애는 방법

윈도우 11 / 작업 표시줄 / 위젯 없애는 방법

윈도우 11에서 작업 표시줄의 위젯을 없애는 방법은 다음과 같습니다: 작업 표시줄을 마우스 오른쪽 버튼으로 클릭합니다. 나타나는 메뉴에서 작업 표시줄 설정을 클릭합니다. 작업 표시줄 항목 섹션에서 위젯 옵션을 찾아 스위치를 꺼짐으로 설정합니다. 이 단계를 따르면 작업 표시줄에서 위젯 아이콘이 사라지게 됩니다.

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

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

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

윈도우 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를 다운로드하면 된다. 다운로드한 파일을 실행하여 설치한다. 설치 후 실행하면 포함된 기능을 볼 수 있고, ...

윈도우 / Sysprep 사용법

윈도우 / Sysprep 사용법

윈도우 이미지 파일을 만들어서 배포할 때, Hyper-V에서 내보내가 가져오기로 가상 머신을 여러 개 만들 때, SID 등 고유 정보가 그대로 유지되는데, 이로 인해 여러 가지 문제가 발생할 수 있다. Sysprep를 이용하면 SID 등을 새로 생성하여 그런 문제를 예방할 수 있다. SID 확인은 whoami /user로 확인할 수 있다. Sysprep는 UI을 이용하여 작업할 수도 있고, ...

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

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

윈도우에서 작업을 하다 보면 설정을 변경해야 할 때가 있다. 설정을 여는 세 가지 방법을 소개한다. 어떤 설정은 제어판에서 작업하는 게 편하다.  윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법 방법 1 시작 버튼을 클릭한다. 을 클릭한다. 만약 시작 메뉴에 없다면, 모든 앱에서 찾을 수 있다. 시작 화면에 고정 또는 작업 표시줄에 고정을 할 수 있다. 방법 2 시작 ...