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 기준이지만, 윈도우 11에서도 동일한 방법으로 가능하다. 방법 1 - 암호 제거하기 사용자 계정이 ...

윈도우 10 / 사진 앱 등 윈도우 기본 앱 초기화하는 방법

윈도우 10 / 사진 앱 등 윈도우 기본 앱 초기화하는 방법

윈도우 10의 기본 이미지 뷰어는 이에요. 처음엔 어색해서 잘 쓰지 않았는데, 몇 번 사용해보니 꽤 좋아요. 이미지를 보정하거나 편집할 수도 있고, 앨범을 만들 수도 있어요. 예전의 무비메이커처럼 사진들로 동영상을 만들 수도 있어요. 사진이 있는 폴더들을 추가하면, 모든 폴더의 사진들을 한 번에 볼 수 있는 것도 편해요. 그런데, 이런저런 작업을 하다보니 좀 꼬였나봐요. 설정이 ...

윈도우 11 / 마우스 / 포인터 크기 변경하는 두 가지 방법

윈도우 11 / 마우스 / 포인터 크기 변경하는 두 가지 방법

3840x2160 해상도의 4K 모니터를 사용합니다. FHD 모니터 4개를 붙여 놓은 만큼의 해상도여서 스크롤 하는 시간이 대폭 줄어들었다. 한 번 4K 모니터를 경험하면 FHD 모니터는 답답해서 사용하기 싫어집니다. 처음 4K 모니터를 사용할 때 가장 불편했던 것은 마우스 포인터 크기였습니다. 마우스 포인터가 너무 작아서 어디 있는지 찾기 힘들 때가 많았습니다. 마우스 우클릭 해서 ...

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

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

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

윈도우 11 / 원격 데스크톱 / 연결 허용하는 방법

윈도우 11 / 원격 데스크톱 / 연결 허용하는 방법

원격으로 다른 컴퓨터에 들어가는 방법은 여러 가지가 있습니다. 그 중 가장 간단히 사용할 수 있는 것은 윈도우에 포함된 원격 데스크톱입이다. 별도의 소프트웨어를 설치할 필요 없이 활성화만 시켜주면 됩니다.(단, Windows Home 에디션에는 이 기능이 없으므로, Pro 이상의 에디션을 구입하거나 다른 방법을 찾아야 합니다.) 원격 데스크톱으로 연결되는 것을 허용하는 것은 입니다.) 왼쪽에서 ...

윈도우 11 / PowerToys / 사용법 / Always On

윈도우 11 / PowerToys / 사용법 / Always On

PowerToys의 Always On은 선택한 창이 항상 위에 있게 한다. 단축키는 이다. 창을 선택한 후 를 누르면 파란색 테두리가 생기면서 항상 다른 창보다 위에 있게 된다. 다시 한 번 를 누르면 해제된다.

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

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

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

윈도우 11 / IP 확인하는 방법

윈도우 11 / IP 확인하는 방법

IP는 두 가지로 구분할 수 있습니다. 내 컴퓨터에 할당된 IP 외부와 통신하는 IP 보통 인터넷 공유기나 방화벽을 통하여 통신하므로, 내 컴퓨터에 할당된 IP와 외부와 통신하는 IP는 다릅니다. 예를 들어 다음과 같이 구성되어 있다면... 공유기의 IP가 외부와 통신하는 IP, 공유기가 컴퓨터에 할당한 IP가 내 컴퓨터에 할당된 IP입니다. 윈도우 11에서 두 가지 IP를 확인하는 방법을 알아봅니다. 내 컴퓨터에 ...

윈도우 10 / 시작 메뉴, 작업 표시줄에서 최근 사용한 파일 목록 지우는 방법

윈도우 10 / 시작 메뉴, 작업 표시줄에서 최근 사용한 파일 목록 지우는 방법

윈도우에서 파일을 사용하면 파일 탐색기의 에 나온다. 프로그램에서 마우스 우클릭해도 해당 프로그램이 사용한 파일 목록이 나온다. 보안, 사생활 보호 등의 이유로 이 목록이 보이지 않게 하고 싶다면... 설정을 연다.(단축키는 WIN+I) 을 클릭한다. 가 ...