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 / 지정한 로그온 세션이 없습니다. 이미 종료되었을 수도 있습니다.

네트워크 드라이브 연결을 하려고 할 때 다음과 같은 메시지를 띄우면서 연결에 실패할 때가 있다. 지정한 로그온 세션이 없습니다. 이미 종료되었을 수도 있습니다. 이런 경우 사용자 이름을 다음처럼 하면 해결될 수 있다. 192.168.0.100\user 192.168.0.100은 연결하려는 장치의 IP, user는 로그온 계정이다.

윈도우 11 / 설치용 USB 만드는 방법

윈도우 11 / 설치용 USB 만드는 방법

윈도우 11 설치용 USB를 만드는 방법은 여러 가지가 있습니다. 그 중 마이크로소프트에서 제공하는 방법을 알려드리겠습니다. 준비할 것은 8GB 이상의 크기를 가진 USB입니다.

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

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

윈도우 11에서 마우스를 왼손잡이로 설정하는 방법은 다음과 같습니다. 설정을 엽니다.(윈도우 11 / 설정을 여는 세 가지 방법) 왼쪽에서 를 클릭합니다. 오른쪽에서 를 클릭합니다. 으로 설정합니다. 변경 사항이 즉시 적용되므로, 별도의 저장이나 재부팅 없이 바로 사용 가능합니다.

윈도우 10 / 사용자 계정 컨트롤 끄는 방법, 켜는 방법

윈도우 10 / 사용자 계정 컨트롤 끄는 방법, 켜는 방법

사용자 계정 컨트롤 소프트웨어를 설치하거나 실행할 때 정말로 실행하겠냐고 메시지가 나옵니다. 유해한 소프트웨어의 실행을 방지하기 위한 것으로, 사용자가 다시 한번 생각하도록 알림을 보내는 것입니다. 이 알림 설정은 사용자 계정 컨트롤에서 합니다. 더 자주 알림을 보내게 할 수도 있고, 알림을 없앨 수도 있습니다. 사용자 계정 컨트롤 설정하기 사용자 계정 컨트롤 설정은 제어판에서 합니다. 검색에서 ...

윈도우 11 / 시스템 요구 사항

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

윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법

윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법

Windows 11의 많은 설정을 Windows 설정에서 할 수 있지만, 아직도 제어판이 필요한 경우가 있습니다. 윈도우 11에서 제어판을 여는 방법과 바탕화면에 추가하는 방법을 알려드립니다.

윈도우 10 / 엑스박스 게임 바(Xbox Game Bar) 열리지 않을 때 해결 방법

윈도우 10 / 엑스박스 게임 바(Xbox Game Bar) 열리지 않을 때 해결 방법

윈도우 10의 엑스박스 게임 바(Xbox Game Bar)를 이용하여 게임을 캡쳐하거나, 녹화하거나 방송할 수 있습니다. 특별한 설정을 하지 않았다면 게임을 실행할 때 안내가 나오고, WIN + G로도 실행할 수 있습니다. 게임 실행 중이 아니어도 WIN + G를 누르면 다음과 같이 메뉴들이 나와야 합니다. 만약 WIN + G를 눌렀는데, 엑스박스 게임 바가 나오지 않는다면 ...

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

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

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

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

네이버는 PC에서 사용하는 전용 메일 프로그램이 없습니다. 하지만 IMAP을 지원하므로 아웃룩 등 메일 클라이언트 프로그램으로 메일을 주고 받을 수 있습니다. 윈도우 10에 있는 메일 앱에 네이버 계정을 추가하는 방법을 알아보겠습니다. 네이버 메일 설정 네이버 메일의 으로 설정합니다. 메일 앱에 네이버 계정 추가 윈도우 10에서 메일 앱을 엽니다. 찾기 ...

윈도우 10 / PC용 페이스북 메신저 설치하는 방법

윈도우 10 / PC용 페이스북 메신저 설치하는 방법

메신저로 많은 일을 할 때는 PC용을 사용하는 게 편합니다. 스마트폰의 작은 화면과 키보드로 메시지를 주고 받는 건 아무래도 불편하니까요. 그래서 카카오톡은 PC용이 따로 있습니다. 모바일과 거의 같은 모양으로 PC에서 대화를 할 수 있습니다. 기능도 거의 같습니다. 그렇다면 페이스북 메신저도 PC용이 있을까요? 있습니다. 그런데 인스톨하는 프로그램이 아니고 마이크로소프트 스토어에 있습니다. 즉 윈도우 7 ...