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

기타

 

같은 카테고리의 다른 글
윈도우 10 / 제어판을 여는 세 가지 방법, 바탕화면에 추가하는 방법

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

윈도우 10에서 설정은 대부분 Windows 설정에서 합니다. 하지만 사용자 계정 컨트롤 같은 일부 설정은 제어판에서 가능합니다. 제어판을 여는 방법과 바탕화면에 추가하는 방법을 알려드립니다.

윈도우 / 서비스 / 관리하는 방법

윈도우 / 서비스 / 관리하는 방법

윈도우 운영체제는 다양한 백그라운드 서비스에 의존하여 원활한 시스템 작동을 유지합니다. 이러한 서비스는 시스템 성능, 보안, 네트워크 연결 등 여러 중요한 기능을 담당합니다. 따라서 적절하게 서비스를 관리하는 것은 컴퓨터의 성능을 최적화하고 문제를 예방하는 데 매우 중요합니다. 이번 포스팅에서는 윈도우 서비스의 개념, 주요 서비스, 서비스 관리 방법 및 최적화 팁에 대해 자세히 ...

윈도우 10 / 시작프로그램 / 사용, 사용 안 함 설정하는 방법

윈도우 10 / 시작프로그램 / 사용, 사용 안 함 설정하는 방법

방법 1 작업표시줄에 마우스를 올리고 우클릭합니다. 를 클릭합니다. 을 클릭합니다. 사용하지 않는 것을 선택 후 을 클릭하거나... 사용하는 것을 선택하고 을 클릭합니다. 방법 2 Windows 설정을 엽니다.(단축키 Win+I) 을 클릭합니다. 을 클릭합니다. 사용하고 싶은 것은 켜고, 사용하지 않을 것은 끕니다.

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

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

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

윈도우 11 / 드라이브 최적화하는 방법

윈도우 11 / 드라이브 최적화하는 방법

윈도우 11의 드라이브 최적화 기능은 저장 장치(SSD, HDD 등)의 성능을 유지하고 데이터를 보다 효율적으로 접근할 수 있도록 돕는 기능입니다. 디스크 조각 모음(Defragmentation) 또는 TRIM 명령을 통해 이루어집니다.

윈도우 10 / 자동 업데이트 끄는 방법

윈도우 10 / 자동 업데이트 끄는 방법

윈도우 10을 설치한 후 별도의 설정을 하지 않았다면 업데이트를 자동으로 합니다. 업데이트를 한 후에 사용자가 컴퓨터를 사용하지 않으면 스스로 재부팅을 하기도 하죠. 잠시 자리를 비웠는데 컴퓨터가 재부팅을 하고 한참동안 업데이트를 설치하는 일이 발생할 수 있습니다. 급하게 작업할 게 있다면 아주 당황스런 상황이 되는 거죠. 중요한 업데이트를 자동으로 하는 것이 좋기는 하지만, ...

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

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

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

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11에서 작업 관리자를 여는 방법은 여러 가지가 있으며, 각각의 방법은 사용자의 필요와 상황에 따라 다르게 적용될 수 있습니다. 작업 관리자는 시스템 성능을 모니터링하고, 실행 중인 프로세스를 관리하며, 필요할 때 응답하지 않는 프로그램을 강제로 종료할 수 있는 유용한 도구입니다.

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

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

윈도우 11에서 노트북 덮개 닫아도 절전 모드로 들어가지 않게 하는 방법 두 가지를 알려드립니다. 윈도우 11 버전에 따라 가능한 방법이 다른데, 방법 1에서 안내하는 메뉴가 없으면 방법 2를 사용하면 됩니다.

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

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

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