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 / 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 / 빠른 지원 / 다른 컴퓨터에 원격으로 접속하여 지원하는 방법

컴퓨터에 문제가 있다고 연락이 옵니다. 아무래도 소프트웨어 문제 같습니다. 직접 조작할 수 있다면 쉽게 끝날 일인데, 아주 멀리 있습니다. 그런 경우 원격으로 접속하여 조치를 취할 수 있습니다. 다른 PC에 원격으로 접속할 수 있는 방법은 여러 가지가 있습니다. 그 중 가장 간단한 방법은 윈도우 10에 포함된 빠른 지원 기능을 이용하는 것입니다. 별도의 ...

윈도우 11 / Micorosft Teams / 삭제 또는 비활성화 하는 방법

윈도우 11 / Micorosft Teams / 삭제 또는 비활성화 하는 방법

윈도우 11을 설치하면 Micorosft Teams가 자동으로 설치된다. 마이크로소프트에서 제공하는 메신저 프로그램으로, 마이크로소프트 계정이 있으면 사용할 수 있다. 외국에서는 사용자가 많아지고 있다는데, 국내에서는 모르는 사람도 많고, 안다 해도 사용하는 사람이 별로 없는 듯 하다. 윈도우에 끼워 넣기 시작했으니, 앞으로는 많아질려나? 이 Microsoft Teams는 개인용으로, 기업에서 사용하는 Teams와는 좀 다르다. 기업용 팀즈를 설치하면 두 개의 ...

윈도우 PF 파일이란? Prefetch 폴더의 역할과 내용 확인 방법

윈도우 PF 파일이란? Prefetch 폴더의 역할과 내용 확인 방법

윈도우 Prefetch 폴더의 PF 파일이 무엇을 기록하는지, 내용을 확인하는 방법과 실행 흔적을 해석하거나 삭제할 때 주의할 점을 설명합니다.

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

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

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

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

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

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

윈도우 11 / Microsoft Defender / 검사 예외 처리 하는 방법

윈도우 11 / Microsoft Defender / 검사 예외 처리 하는 방법

Microsoft Defender에서 특정 파일, 폴더, 파일 형식, 프로세스를 검사 대상에서 제외하는 방법을 설명합니다. Windows 보안 설정과 PowerShell을 이용한 검사 예외 추가 및 삭제 방법도 함께 정리합니다.

윈도우 / 단축키

윈도우 / 단축키

윈도우 단축키 단축키 수행 작업 WIN 시작 메뉴를 열거나 닫기 WIN + D 바탕화면을 표시하거나 숨기기 WIN + E 파일 탐색기 열기 WIN + I 윈도우 설정 열기 WIN + L PC 잠그기 WIN + M 모든 창 최소화 하기 WIN + Ctrl + Q 빠른 지원 열기 WIN + R 실행 창 열기 WIN + S 검색 열기 WIN + V 클립보드 열기 WIN + X 빠른 링크 메뉴 열기 WIN + . 이모지 열기 WIN ...

윈도우 11 / 팀즈 / 작업 표시줄에서 숨기는 방법, 제거하는 방법

윈도우 11 / 팀즈 / 작업 표시줄에서 숨기는 방법, 제거하는 방법

윈도우 11은 팀즈가 기본적으로 설치된다. 마이크로소프트 계정이 있으면 사용할 수 있는 것으로, 무료 버전이다.(구입해야 하는 기업용 팀즈와는 다른 소프트웨어이다.) MS가 열심히 퍼트리는 것으로, 작업 표시줄에 고정되어 있다. 마우스를 올리고 우클릭해도 가 없다. 작업 표시줄에서 없애기 위해서는 으로 가야 한다. 을 비활성화하면 작업 표시줄에서 사라진다. 만약 아예 삭제하고 싶다면 시작 메뉴에서 ...

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

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

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