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

윈도우 / 명령어 / 네트워크 관련 명령어

윈도우 / 명령어 / 네트워크 관련 명령어

ipconfig 개요 ipconfig는 네트워크 설정을 확인하고 관리하는 데 사용되는 Windows 명령줄 도구입니다. 네트워크 인터페이스의 IP 주소, 서브넷 마스크, 기본 게이트웨이 등을 확인하는 데 유용하다. 예제 네트워크 어댑터에 대한 기본 정보를 표시합니다. ipconfig DNS 서버, DHCP 서버, 물리적 주소(MAC 주소) 등 네트워크 어댑터에 대한 모든 세부 정보를 표시합니다. ipconfig /all DNS 캐시의 내용을 표시합니다. ipconfig /displaydns DNS 캐시를 지웁니다. ipconfig /flushdns ping 개요 목적지에 접속이 ...

윈도우 10 / 캡처 도구 / 사용법

윈도우 10 / 캡처 도구 / 사용법

컴퓨터 화면을 캡처해야할 때가 있다. 캡처하는 방법은 여러 가지가 있는데, 캡처 전용 프로그램을 이용하면 다양한 방식으로 캡처를 할 수 있다. 하지만, 단순한 캡처라면 윈도우 10에 포함된 캡처 도구를 이용하는 것도 좋다. 별도로 프로그램을 설치할 필요가 없기 때문이다. 캡처 도구 사용하는 방법 왼쪽 아래에 있는 돋보기 버튼을 클릭하고 '캡'을 입력하면 가 나온다.(검색 창 ...

윈도우 / Hyper-V / 고급 세션 모드 켜는 방법, 끄는 방법

윈도우 / Hyper-V / 고급 세션 모드 켜는 방법, 끄는 방법

고급 세션 모드(Enhanced Session Mode)는 Hyper-V 가상 머신과 호스트 간의 더 풍부한 인터페이스와 장치 통합을 가능하게 해주는 기능입니다. 윈도우 11 프로 등의 Hyper-V는 기본적으로 활성화되어 있고, 윈도우 서버 2025 등에서는 기본적으로 비활성화되어 있습니다.

윈도우 11 / 저장 공간 센스

윈도우 11 / 저장 공간 센스

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

윈도우 11 / Microsoft Defender / 검사 예외 처리 하는 방법

윈도우 11 / Microsoft Defender / 검사 예외 처리 하는 방법

Microsoft Defender에서 특정 파일, 폴더, 파일 형식, 프로세스를 검사 대상에서 제외하는 방법을 설명합니다. Windows 보안 설정과 PowerShell을 이용한 검사 예외 추가 및 삭제 방법도 함께 정리합니다.

윈도우 10 / 명령 프롬프트(CMD) 글꼴 변경하는 방법

윈도우 10 / 명령 프롬프트(CMD) 글꼴 변경하는 방법

윈도우 10 명령 프롬프트(CMD)의 기본 글꼴은 굴림체입니다. 고정폭이기는 하나 예쁜 글꼴은 아닙니다. 만약 글꼴을 변경하고 싶다면 다음과 같이 합니다. 명령 프롬프트 왼쪽 위에 있는 아이콘을 클릭합니다. 을 클릭합니다. 을 클릭합니다. 이제 명령 프롬프트를 닫고 다시 열면 변경된 글꼴로 나오는 것을 확인할 수 있습니다. 속성에서도 글꼴을 변경할 수 있는데, ...

윈도우 10 / Windows 설정 창을 여는 방법 두 가지

윈도우 10 / Windows 설정 창을 여는 방법 두 가지

윈도우 사용과 관련된 설정은 Windows 설정에서 합니다. Windows 설정 창을 여는 방법은 여러 가지가 있는데, 그 중 두 가지 방법을 소개해드리겠습니다. 윈도우 11 / 설정을 여는 세 가지 방법 단축키로 열기 를 누르면 설정 창이 열립니다. 시작 메뉴에서 열기 왼쪽 아래에 있는 시작 아이콘을 누르면 그 위에 톱니바퀴 모양의 설정 아이콘이 있습니다. 그 아이콘을 클릭하면 ...

윈도우 10 / 프로그램 시작 화면에 고정하는 방법, 작업 표시줄에 고정하는 방법

윈도우 10 / 프로그램 시작 화면에 고정하는 방법, 작업 표시줄에 고정하는 방법

윈도우 10에 소프트웨어를 설치하면 대부분 시작 메뉴에 등록됩니다. 그런데 시작 메뉴는 가나다순으로 프로그램 목록이 나와서 사용이 불편합니다. 자주 사용하는 프로그램이 밑에 있을 수도 있으니까요. 자주 사용하는 프로그램에 접근하기 쉽게 하는 방법은 두 가지가 있습니다. 하나는 시작 화면에 고정하는 것이고, 또 하나는 작업 표시줄에 고정하는 것입니다. 시작 화면에 고정하는 방법 프로그램에 마우스를 올리고 우클릭합니다. 팝업 ...

윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

인터넷은 보통 유동 IP로 연결됩니다. 연결될 때마다 새로운 IP를 받는 것이죠. 그렇다고 부팅할 때마다 바뀌는 것은 아닙니다. 일정 시간 기다려주므로, 오랜 시간 껐다 켜는 게 아니라면 IP가 유지됩니다. 하지만, 어떠한 상황에서도 IP가 유지되는 게 필요할 때가 있습니다. 대표적인 경우는 외부에서 접속하고 싶을 때죠. IP가 정확하지 않으면 접속을 할 수 없습니다. 그런 ...