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

윈도우 10 / 날씨 앱 / 내 위치 설정하기

윈도우 10 / 날씨 앱 / 내 위치 설정하기

윈도우 10에는 날씨 앱이 있습니다. 특정 지역의 날씨를 알려주는 앱입니다. 그런데 그 지역이 내가 있는 지역과 맞지 않을 수 있습니다. 보통 서울로 설정되어 있는 거 같습니다. GPS가 없는 데스크톱이라면 지역을 수동으로 설정해서 사용합니다. 날씨 앱을 엽니다. 현재 위치를 검색한 후 을 클릭합니다. 이제 내 위치에 딱 맞는 날씨를 볼 수 있습니다.

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

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

윈도우 11 작업 표시줄 왼쪽에 위젯 버튼이 있습니다. 마우스를 올리거나 클릭하면 위젯이 나옵니다. 위젯이 필요 없다면 설정에서 없앨 수 있습니다. 을 비활성화하면 됩니다.

윈도우 11 / PowerToys / 사용법 / Color Picker

윈도우 11 / PowerToys / 사용법 / Color Picker

모니터 화면에 있는 특정 색을 추출하는 프로그램을 보통 Color Picker라고 한다. Color Picker는 포토샵 등 여러 프로그램에 포함되어 있는데, PowerToys에도 포함되어 있다. 단축키는 이다. 형식은 HEX인데, 에서 변경할 수 있다. CMYK, RGB, HSB 등 여러 가지 형식에서 선택할 수 있다. 단축키 를 누르고 ...

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

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

윈도우 11에서 고정 IP를 설정하는 방법 두 가지를 소개합니다. 가 편합니다. 방법 1 오른쪽 아래에 있는 네트워크 아이콘 위에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 설정하려는 네트워크를 선택하고... 을 클릭합니다. 자동을 수동으로 변경하고... IPv4를 켠 후... 필요한 정보를 ...

윈도우 / 서비스 / SysMain

윈도우 운영체제에서 SysMain 서비스는 이전 버전의 운영체제에서 SuperFetch로 알려진 서비스의 새로운 이름입니다. 이 서비스는 시스템 성능을 최적화하고, 응용 프로그램의 로딩 시간을 단축하며, 전반적인 시스템 응답성을 향상시키는 역할을 합니다. SysMain 서비스의 주요 역할 응용 프로그램 로딩 시간 단축 SysMain 서비스는 사용자가 자주 사용하는 응용 프로그램과 데이터를 미리 메모리에 로드합니다. 이를 통해 사용자가 프로그램을 실행할 ...

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우에서 파일을 삭제하면 휴지통으로 이동한다. 표현은 삭제지만 다른 폴더로 이동하는 것과 다를 바 없다. 휴지통에 있는 파일은 온전한 것이므로 복원이 가능하고, 휴지통에서 삭제해야 완전히 삭제된다. 휴지통 비우기를 해도 해당 파일이 존재했던 부분에 다른 파일을 쓰지 않았다면, recuva 같은 삭제 파일 복구 프로그램으로 복구를 할 수 있다. 휴지통은 최대 한도가 있는데, 그 한도는 ...

윈도우 11 / 파일 탐색기 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

윈도우 11 / 파일 탐색기 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

네트워크 드라이브란 네트워크 상에 연결된 저장 공간을 마치 내 PC에 있는 드라이브처럼 사용하는 기능입니다. 내 PC의 문서나 C 드라이브처럼 보이지만, 실제로는 회사 서버나 다른 컴퓨터, NAS(Network Attached Storage)에 저장되어 있는 공간입니다. 윈도우 11에서 네트워크 드라이브를 연결하는 방법과 연결된 네트워크 드라이브의 연결을 끊는 방법을 알려드립니다.

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

PC에 저장 공간이 부족하면 디스크를 추가한다. 외장 하드를 이용하는 방법도 있지만, 메인보드에 디스크를 붙이는 것이 좀 더 안정적이고 속도가 빠르다. 요즘 출시된 노트북은 디스크를 추가할 수 있는 여유 공간이 제공되는 것이 많아, 가벼운 SSD를 추가하면 저장 공간이 작다는 노트북의 단점이 사라진다. 디스크를 추가하면 몇 가지 작업이 필요한데, 윈도우 11에서 어떻게 하는지 ...

윈도우 10 / 파일 탐색기 / 파일 확장자 표시하는 방법

윈도우 10 / 파일 탐색기 / 파일 확장자 표시하는 방법

파일 탐색기에서 파일을 보면, 확장자가 보이지 않아도 아이콘과 유형으로 어떤 파일인지 확인할 수 있습니다. 그럼에도 불구하고 파일 이름에 확장자가 있는 게 더 작업하기 좋다면 보이게 할 수 있습니다.