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을 설치하려면 시스템 요구 사항을 만족해야 합니다. 만족하지 못하면 설치 자체를 할 수 없습니다. 그러한 컴퓨터라면 윈도우 10을 설치해야 합니다. 그런데 윈도우 10도 곧 EOS됩니다. 윈도우 10의 지원 종료(EOS)는 2025년 10월 14일로 예정되어 있습니다. 이 날짜 이후로 Microsoft는 윈도우 10에 대한 보안 업데이트나 기술 지원을 제공하지 않게 됩니다. 현재 사용 중인 ...

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

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

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

윈도우 10 / Microsoft 사진 / 초기화 또는 복구하는 방법

윈도우 10 / Microsoft 사진 / 초기화 또는 복구하는 방법

윈도우 10에 포함된 사진 앱은, 이름은 사진이지만 동영상 편집까지 가능한 유용한 앱입니다. 그런데, 이상하게 가끔 문제가 생깁니다. 실행이 되지 않거나, 오류가 생기거나... 그런 경우 프로그램을 삭제 후 다시 설치하면 보통 해결이 되는데, 사진 앱은 제거가 되지 않습니다. 대신 초기화 또는 복구는 가능합니다. Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 는 활성화되지 ...

윈도우 10 / 공유 폴더 만드는 방법

윈도우 10 / 공유 폴더 만드는 방법

공유 폴더 만드는 방법 공유할 폴더를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 을 클릭합니다. 를 클릭합니다. 현재 로그인한 사용자가 소유자로, 공유 폴더에 접근 가능합니다. 다른 사용자를 추가하고 싶다면 선택 목록을 클릭합니다. 사용자를 선택하고, 추가한 다음... 역삼각형 아이콘을 클릭하여... 권한을 적절히 선택합니다. 를 클릭합니다. 적절히 선택합니다. 를 클릭해도 됩니다. 공유 설정이 완료되었습니다. 공유 폴더에 접근하는 방법 같은 네트워크 안에 있는 다른 PC에서 파일 ...

윈도우 10 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10에서 왼쪽 밑에 있는 시작 버튼을 클릭하면 시작 메뉴와 화면이 주욱 올라옵니다. 설치한 앱과 프로그램 목록이 있고, 자주 사용하는 프로그램은 시작 화면에 등록해둘 수 있죠. 시작 메뉴의 왼쪽에는 전원, 설정 등의 아이콘이 있는데 공간에 비해 아이콘이 몇 개 없습니다. 좀 허전하죠? 그 곳에 자주 접근하는 폴더를 등록해놓고 활용할 수 있습니다. [Win + ...

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

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

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

윈도우 11 / 터미널 / 사용법

윈도우 11 / 터미널 / 사용법

터미널 윈도우 11에는 터미널이라는 프로그램이 기본 설치되어 있습니다. 마이크로소프트의 오픈 소스 프로젝트로 개발되는 것으로, GitHub 주소는 다음과 같습니다. https://github.com/microsoft/terminal 소개는 다음과 같습니다. Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich ...

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

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

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

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

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

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