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 / 배경 화면, 잠금 화면 변경하는 방법

윈도우 11 배경화면은 사용자 컴퓨터의 바탕화면에 표시되는 이미지 또는 색상을 말합니다. 배경화면은 사용자 환경의 시각적 경험을 개인화하고, 더 나아가 심미적 만족감을 제공하는 요소 중 하나입니다. 잠금 화면은 컴퓨터가 잠금 상태일 때 사용자에게 표시되는 화면입니다. 이는 시스템 보안을 강화하고 개인 정보를 보호하기 위한 기능 중 하나입니다.

윈도우 11 / 창의 그림자 효과 없애는 방법

윈도우 11 / 창의 그림자 효과 없애는 방법

윈도우 11은 윈도우 10에 비하여 디자인이 많이 바뀌었다. 뛰어난 디자이너들이 나름 의미를 부여하면서 작업한 것이겠지만, 아직은 좋은지 잘 모르겠다. 특히 작업표시줄 그룹 해제가 안되는 것은 너무 불편. 바탕화면 기본 이미지가 바뀌어서인지 창의 그림자 효과가 눈에 아주 잘 들어온다. 윈도우 10에서도 있던 것인데, 그림자가 더 진해졌나? 시각적으로 보기 좋게 만든 것이기는 한데, ...

윈도우 10 / 모니터 해상도 변경하는 방법

윈도우 10 / 모니터 해상도 변경하는 방법

윈도우 10을 설치할 때, 사용하는 모니터에 최적화된 값으로 해상도가 자동 설정됩니다. 만약 자동 설정된 해상도가 잘못 되었거나, 모니터 교체 등 여러 이유로 현재 해상도가 적절하지 않다면, 수동으로 해상도를 변경할 수 있습니다. 해상도 변경은 에서 합니다. 단축키 을 클릭합니다. 디스플레이 메뉴에 해상도가 있습니다. 원하는 해상도를 선택하면 바로 ...

윈도우 10 / PowerShell / Get-AppxPackage, Remove-AppxPackage

확장자가 .msix, .assx인 앱 패키지의 정보를 가져오는 명령어는 Get-AppxPackage, 제거하는 명령어는 Remove-AppxPackage이다. Get-AppxPackage 앱 패키지 정보들을 가져온다. Get-AppxPackage 이름이 Microsoft.ScreenSketch인 앱 패키지 정보를 가져온다. Get-AppxPackage -Name Microsoft.ScreenSketch Name : Microsoft.ScreenSketch Publisher : CN=Microsoft Corporation, O=Microsoft Corporation, ...

윈도우 10 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

윈도우 10 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

윈도우에 기본적으로 포함된 파일 관리 프로그램은 파일 탐색기입니다. 파일 탐색기를 여는 방법은 여러 가지가 있습니다. 자주 사용하는 프로그램이니 다양한 방법을 알고 있으면 편하겠죠? 파일 탐색기를 여는 네 가지 방법을 소개합니다.

윈도우 10 / 알림 설정 변경하는 방법

윈도우 10 / 알림 설정 변경하는 방법

스마트폰의 알림처럼 윈도우 10에도 알림이 있습니다. 예를 들어 메일 앱을 사용하면, 메일이 왔을 때 오른쪽 아래에 알림이 뜹니다. 앱에서 요청하고 윈도우가 허용한 거죠. 그 알림이 유용한 것이 아니라면 알림이 오지 않도록 할 수 있습니다. Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 을 클릭하면 오른쪽에 관련 설정이 나옵니다. 전체 알림을 중지할 수도 있고... 특정 ...

윈도우 10 / IExpress / 자동 압축 풀기 실행 파일 만드는 방법

윈도우 10 / IExpress / 자동 압축 풀기 실행 파일 만드는 방법

IExpress는 윈도우 10에 포함된 자동 압축 풀기 또는 자동 설치 패키지를 만드는 프로그램입니다. 다음은 IExpress로 자동으로 압축이 풀리는 실행 파일을 만드는 방법입니다. 실행 창을 엽니다. 단축키는 WIN+R입니다. iexpress를 입력하고 엔터키를 누르거나 을 클릭합니다. 을 클릭합니다. 압축만 풀 것이므로 Extract files only를 선택하고 을 클릭합니다. 적절히 이름을 정하고 을 클릭합니다. 확인을 받거나 라이선스를 보여주는 기능도 있는데, 자동 ...

윈도우 / DNS 캐시 조회하는 방법, 삭제하는 방법

윈도우 / DNS 캐시 조회하는 방법, 삭제하는 방법

윈도우는 DNS 정보를 캐시한다. 캐시는 기본적으로 속도 향상을 위한 것인데, 단점은 정보가 변경되었을 때 바로바로 적용되지 않는다는 것이다. 따라서 서버 이전 작업 등을 했을 때 제대로 찾아가지 못한다면 캐시를 삭제하는 작업이 필요하다. 캐시된 DNS를 조회하는 방법과 삭제하는 방법은 다음과 같다. DNS 캐시 조회하는 방법 명령 프롬프트를 연다. 아래와 같이 명령한다. ipconfig /displaydns DNS 캐시 삭제하는 방법 명령 ...

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

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

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

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

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

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