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 / 터치 패드 끄는 방법

대부분의 노트북에는 터치 패드를 끄는 펑션 키가 있다. 마우스가 연결되어 있으면 터치 패드를 사용할 일이 별로 없고, 노트북 키보드를 칠 때 터치 패드를 건드리는 경우가 많기 때문일 것이다. 그런데 간혹 터치 패드 끄는 펑션 키가 없기도 하다. 그런 경우 윈도우 설정에서 터치 패드를 끌 수 있다. 윈도우 설정을 연다.(단축키는 WIN + I) 왼쪽에서 ...

윈도우 11 / 최신 대기 모드(Modern Standby)

윈도우 11 / 최신 대기 모드(Modern Standby)

예전 노트북은 절전 모드에 들어가면 거의 모든 부품 전원이 꺼졌습니다. 그래서 다시 켤 때 시간이 조금 걸렸죠. 하지만 최신 대기 모드는 다릅니다. 화면은 꺼져 있지만 아주 적은 전력만 사용하면서 일부 기능은 계속 동작합니다.

윈도우 10 / 명령 프롬프트(CMD) 글꼴 변경하는 방법

윈도우 10 / 명령 프롬프트(CMD) 글꼴 변경하는 방법

윈도우 10 명령 프롬프트(CMD)의 기본 글꼴은 굴림체입니다. 고정폭이기는 하나 예쁜 글꼴은 아닙니다. 만약 글꼴을 변경하고 싶다면 다음과 같이 합니다. 명령 프롬프트 왼쪽 위에 있는 아이콘을 클릭합니다. 을 클릭합니다. 을 클릭합니다. 이제 명령 프롬프트를 닫고 다시 열면 변경된 글꼴로 나오는 것을 확인할 수 있습니다. 속성에서도 글꼴을 변경할 수 있는데, ...

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

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

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

윈도우 11 / 컴퓨터 이름 변경하는 네 가지 방법

윈도우 11 / 컴퓨터 이름 변경하는 네 가지 방법

컴퓨터에는 이름이 있습니다. 다수의 컴퓨터를 관리하는 입장이라면 적절히 이름을 정해주는 것이 좋습니다. 윈도우 11에서 컴퓨터 이름을 변경하는 방법 네 가지를 소개합니다. 방법 1, 방법 2, 방법 3은 GUI로 작업하는 것이고, 방법 4는 PowerShell을 사용하는 것입니다. 어떤 방식으로 해도 컴퓨터를 다시 시작해야 컴퓨터 이름 변경이 적용됩니다. 방법 1 / 설정 - 홈 입니다. 상단에 ...

윈도우 / 명령어 / SC - 서비스를 관리하는 명령어

윈도우 운영체제에서는 다양한 시스템 서비스가 백그라운드에서 실행되며, 이러한 서비스는 시스템의 성능과 안정성을 유지하는 데 중요한 역할을 합니다. SC(Service Controller) 명령어는 이러한 서비스를 관리하는 강력한 도구로, 서비스를 시작, 중지, 설정 변경, 삭제 등 다양한 작업을 수행할 수 있습니다. SC를 사용할 때 일부 명령은 관리자 권한을 필요로 합니다. 따라서 관리자 권한으로 명령 프롬프트(CMD)를 ...

윈도우 / CMD 창 여는 세 가지 방법

윈도우 / CMD 창 여는 세 가지 방법

윈도우를 사용하다보면, 파워 유저가 아니더라도 명령어를 시용할 때가 간혹 있다. 보통 CMD 창이라 부르는 것에서 작업하는데, 해당 창을 여는 방법은 여러 가지가 있다. 그 중 세 가지를 소개한다. 방법 1 - 실행 창에서 열기 아이콘에 마우스를 올리고 우클릭한다. 을 클릭한다. cmd를 입력하고 엔터키를 누른다. 실행 창을 여는 단축키는 WIN+R이다. 방법 2 - 검색에서 열기 을 클릭한다. cmd로 ...

윈도우 10 / 원격 데스크톱 연결을 위한 절전 모드 해제 설정

윈도우 10 / 원격 데스크톱 연결을 위한 절전 모드 해제 설정

원격으로 윈도우 10 컴퓨터에 접속하는 가장 간단한 방법은 원격 데스크톱을 사용하는 겁니다. 특별히 설치할 것도 없고, 설정만 약간 변경해주면 됩니다. 원격 데스크톱 연결 허용은 에 들어간 다음... 를 켜면 됩니다. 그런데, 컴퓨터가 절전 모드라면 원격 접속이 되지 않습니다. 그래서 컴퓨터를 사용하지 않아도 절전 모드로 들어가지 않게 설정을 ...

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

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

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

윈도우 10 / 잠금화면 배경 사진 변경하는 방법

윈도우 10 / 잠금화면 배경 사진 변경하는 방법

윈도우 10으로 부팅하면 사용자를 정하고 로그인하는 화면이 나오는데, 그걸 잠금화면이라고 합니다. 별다른 설정을 하지 않아도 잠금화면에는 멋진 사진이 나오고, 일정 주기로 계속 바뀝니다. 잠금화면 사진은 Windows 설정에 바꿉니다. 단축키 을 클릭합니다. 더 간단한 방법은 바탕화면에서 우클릭한 다음 을 클릭하는 것입니다. 왼쪽 메뉴 중에서 을 ...