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에는 가상 데스크톱 기능이 있습니다. 창을 많이 띄워야 하는 작업을 할 때, 남에게 보이고 싶지 않은 작업을 할 때 유용한 기능입니다. 가상 데스크톱을 관리하는 것은 단축키로 하는 것이 편합니다. 그래야 가상 데스크톱 사이의 전환을 빠르게 할 수 있어 효율적인 작업이 가능합니다. 주요 단축키는 다음과 같습니다. 가상 데스크톱 만들기 : Ctrl ...

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

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

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

윈도우 10 / 폴더 아이콘 변경하는 방법과 아이콘 구하는 방법

윈도우 10 / 폴더 아이콘 변경하는 방법과 아이콘 구하는 방법

폴더 아이콘 폴더의 특성에 따라 다른 모양의 아이콘을 설정할 수 있어요. 윈도우 10이라면, 기본적으로 문서는 종이, 다운로드는 아래쪽으로 향하는 화살표, 사진은 이미지가 폴더에 표시되요. 아이콘만 보고 어떤 내용이 담겨 있는지 구분할 수 있는 유용한 기능입니다. 폴더 아이콘 직접 설정하기 폴더 아이콘은 주어진 모양대로 사용해야 하는 것은 아니에요. 내가 원하는 모양으로 바꿀 수 있어요. 폴더를 선택한 ...

윈도우 11 / 휴지통

윈도우 11 / 휴지통

윈도우 11의 휴지통 기능은 사용자들이 삭제한 파일을 임시로 보관하여, 필요할 경우 복구할 수 있게 해줍니다. 즉, 기본적으로 삭제는 휴지통이라는 폴더로 이동하는 것입니다. 기본 기능 삭제 파일 또는 폴더를 선택 후 Delete 키를 누르거나, 마우스 우클릭 후 휴지통 아이콘을 클릭하면, 해당 파일 또는 폴더는 휴지통으로 이동합니다. 휴지통에 파일 또는 폴더가 있으면 휴지통 아이콘이 휴지가 있는 ...

윈도우 11 / Windows 기능 켜기 끄기

윈도우 11 / Windows 기능 켜기 끄기

윈도우에는 처음 설치할 때는 설치되지 않는 여러 가지 기능들이 있습니다. Hyper-V, IIS 등 일반적으로는 사용하지 않으나, 개발자 등 파워 유저에게는 필요한 기능들입니다. 윈도우 11에서 그런 기능들을 추가하는 방법은 다음과 같습니다.

윈도우 10 / 보안 질문 업데이트(변경)하는 방법

윈도우 10 / 보안 질문 업데이트(변경)하는 방법

윈도우에 로그인할 때 마이크로소프트 계정을 사용하지 않습니다. 로컬 계정을 사용합니다. 내 PC가 마이크로소프트와 연동되는 것이 괞히 싫기 때문입니다. 그리고 비밀번호도 만들어 두었습니다. 내 자료를 남이 보는 것도 싫기 때문입니다. 비밀번호를 만들면 항상 신경쓰이는 것이 잊어버린다는 것입니다. 사용자가 비밀번호를 잊을 경우를 대비해서 윈도우 10에서는 보안 질문을 만들게  합니다. 그 질문이나 답이 비밀번호보다 ...

윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법

윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법

Windows 11의 많은 설정을 Windows 설정에서 할 수 있지만, 아직도 제어판이 필요한 경우가 있습니다. 윈도우 11에서 제어판을 여는 방법과 바탕화면에 추가하는 방법을 알려드립니다.

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

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

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

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

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

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

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

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

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