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을 설치하려면 시스템 요구 사항을 만족해야 합니다. 만족하지 못하면 설치 자체를 할 수 없습니다. 그러한 컴퓨터라면 윈도우 10을 설치해야 합니다. 그런데 윈도우 10도 곧 EOS됩니다. 윈도우 10의 지원 종료(EOS)는 2025년 10월 14일로 예정되어 있습니다. 이 날짜 이후로 Microsoft는 윈도우 10에 대한 보안 업데이트나 기술 지원을 제공하지 않게 됩니다. 현재 사용 중인 ...

윈도우 10 / 암호 변경하는 세 가지 방법

윈도우 10 / 암호 변경하는 세 가지 방법

윈도우 10에서 비밀번호를 변경하는 방법은 여러 가지가 있다. 그 중 세가지를 소개한다. 방법 2가 가장 편하고, 현재 비밀번호를 모른다면 방법 3을 사용한다. 방법 1 을 연다.(단축키는 WIN+I) 을 클릭한다. 왼쪽에서 을 클릭한다. 를 클릭한다. 을 클릭한다. 현재 암호를 입력하고, 새 암호를 만든다. 방법 2 Ctrl+Alt+Del를 누른다. 화면이 바뀌면서 몇 가지 메뉴가 나오는데, 을 클릭힌다. 현재 암호를 입력하고 새 암호를 만든다. 방법 ...

윈도우 11 / 화상 키보드(가상 키보드) 사용하는 방법

윈도우 11 / 화상 키보드(가상 키보드) 사용하는 방법

화상 키보드는 터치스크린 장치나 키보드 사용이 어려운 환경에서 유용하게 사용할 수 있는 가상 키보드입니다. 화상 키보드는 실제 물리적인 키보드 대신 화면에 나타나는 키보드로, 마우스나 터치로 입력할 수 있습니다. 윈도우 11에서 화상 키보드를 사용하는 방법은 다음과 같습니다. 시작 버튼에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 왼쪽에서 을 클릭합니다. 를 클릭합니다. 오른쪽에 있는 토글 버튼을 클릭하면... 화상 키보드가 ...

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

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

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

윈도우 10 / 마우스 / 왼손잡이 설정하는 방법

윈도우 10 / 마우스 / 왼손잡이 설정하는 방법

일반적으로 마우스에는 단추가 두 개 있습니다. 왼쪽 버튼을 누르면 선택을 하거나 끌기를 할 수 있고, 오른쪽 버튼을 누르면 팝업 메뉴가 나옵니다. 오른손 잡이에게는 이 설정이 편한데, 왼손 잡이에게는 불편할 수 있습니다. 만약 마우스를 왼손으로 사용한다면 좌우 버튼의 기능을 바꾸어서 사용하면 됩니다. 윈도우 설정에서 변경 가능합니다. Windows 설정을 엽니다. 단축키는 [WIN + ...

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

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

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

PowerShell / 메모

PowerShell / 메모

업그레이드 버전 확인 PS C:\> $PSVersionTable Name Value ---- ...

윈도우 10 / 터치 키보드(가상 키보드, 화면 키보드) 사용하는 방법

윈도우 10 / 터치 키보드(가상 키보드, 화면 키보드) 사용하는 방법

갑자기 키보드가 망가졌습니다. 그런데 급하게 메일을 보내야합니다. 그렇다면 터치 키보드를 사용하세요. 원래는 터치가 되는 모니터를 위한 기능인데, 마우스로도 가능합니다. 작업 표시줄에 마우스를 올리고 우클릭합니다. 를 클릭합니다. 글자를 입력해야하는 프로그램을 실행하고, 오른쪽 아래에 있는 키보드 아이콘을 클릭하면... 화면에 키보드가 만들어집니다. 이제 마우스로 자판을 클릭해서 글자를 입력할 수 있습니다. 키보드 설정 아이콘을 클릭해서... 키보드 모양을 ...

윈도우 11 / CPU 온도 측정하는 방법

윈도우 11 / CPU 온도 측정하는 방법

CPU 온도는 컴퓨터 성능과 안정성에 중요한 영향을 미칩니다. 과열된 CPU는 시스템 성능 저하, 불안정한 작동, 심지어는 하드웨어 손상까지 초래할 수 있습니다. 윈도우 11에서 CPU 온도를 측정하는 여러 방법을 통해 시스템 상태를 모니터링하고 적절한 조치를 취할 수 있습니다. BIOS/UEFI를 통해 CPU 온도 측정 BIOS 또는 UEFI는 컴퓨터가 부팅될 때 실행되는 기본 시스템 소프트웨어로, ...

윈도우 11 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

윈도우 11 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

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