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 / 네트워크 / 고정 IP 설정하는 방법

윈도우 11 / 네트워크 / 고정 IP 설정하는 방법

윈도우 11에서 고정 IP를 설정하는 방법 두 가지를 소개합니다. 가 편합니다. 방법 1 오른쪽 아래에 있는 네트워크 아이콘 위에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 설정하려는 네트워크를 선택하고... 을 클릭합니다. 자동을 수동으로 변경하고... IPv4를 켠 후... 필요한 정보를 ...

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10을 설치하면 마이크로소프트의 보안 프로그램 디펜더(Defender)가 자동으로 설치됩니다. 별도로 백신을 구입하고 설치할 필요가 없어서 편하기는 합니다. 마이크로소프트가 대충 만들 것도 아니구요. 보통의 백신 프로그램이 그러하듯이, 마이크로소프트 디펜더도 실시간 보호 기능이 있습니다. 프로그램을 설치하거나 파일을 다운로드 하는 등 어떤 변화가 있을 때 바로바로 검사를 하는 기능입니다. 그런데 단점도 있습니다. 실행해야할 프로그램을 악성코드로 ...

윈도우 10 / 원드라이브(OneDrive) / 저장 폴더 변경하는 방법

윈도우 10 / 원드라이브(OneDrive) / 저장 폴더 변경하는 방법

원드라이브는 마이크로소프트가 제공하는 클라우드 저장소입니다. 마이크로소프트 계정이 있으면 5G를 줍니다. 구글이 15G를 제공하는 것에 비하면 작은 용량이지만, 그래도 여러모로 활용할 수 있습니다. PC에 원드라이브 앱을 설치해서 클라우드와 PC를 동기화할 수 있는데, 기본 경로는 \Users\<username>\OneDrive입니다. 만약 이 경로가 마음에 들지 않는다면 다른 경로로 바꿀 수 있습니다. 원드라이브 아이콘을 클릭하고, 를 클릭한 후, ...

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

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

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

윈도우 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, ...

윈도우 / 안전 모드

윈도우의 안전 모드(Safe Mode)는 운영 체제에서 문제가 발생했을 때 이를 진단하고 해결하기 위한 특별한 부팅 옵션입니다. 안전 모드에서는 윈도우가 기본적인 파일과 드라이버만 로드하며, 문제의 원인을 찾고 수정하는 데 유리한 환경을 제공합니다. 안전 모드에서는 비필수적인 소프트웨어와 드라이버는 실행되지 않으므로, 충돌 문제나 시스템 오류를 최소화할 수 있습니다. 안전 모드의 주요 기능과 목적 필수적인 기능만 ...

윈도우 10 / 파일 암호화하는 방법

윈도우 10 / 파일 암호화하는 방법

나만 봐야 하는 중요한 파일이 있다면 파일을 암호화하는 것이 좋습니다. 파일을 암호화하는 방법은 여러 가지가 있으나, 윈도우 10이라면 내장된 기능으로 암호화할 수 있습니다. 만약 파일 또는 폴더가 아니라 드라이브 전체는 보호하고 싶다면 BitLocker를 사용하세요. Windows 10 Pro 이상에서 사용할 수 있습니다. 파일 암호화 하기 암호화하려는 파일을 선택하고 마우스 우클릭합니다. 을 클릭합니다. 을 클릭하고... [데이터 보호를 위해 ...

윈도우 11 / 내 컴퓨터 CPU 종류 확인하는 세 가지 방법

윈도우 11 / 내 컴퓨터 CPU 종류 확인하는 세 가지 방법

컴퓨터를 업그레이드하거나 특정 프로그램을 설치하기 전에, 내 컴퓨터에 어떤 CPU가 탑재되어 있는지 확인해야 할 때가 있습니다. 윈도우에서 CPU 정보를 확인하는 방법은 여러 가지가 있는데, 별도의 프로그램을 설치하지 않고도 할 수 있는 방법 세 가지를 소개해드립니다.

윈도우 11 / 메모장 / 글꼴 변경하는 방법, 자동 줄 바꿈 하는 방법

윈도우 11 / 메모장 / 글꼴 변경하는 방법, 자동 줄 바꿈 하는 방법

자동 줄 바꿈 하는 방법 윈도우 11에 포함된 메모장은 기본 설정이 자동 줄 바꿈을 하지 않는 것이다. 따라서 줄 바꿈 없는 긴 텍스트가 있다면 좌우 스크롤이 생기고, 스크롤해야 볼 수 있다. 만약 이게 불편하다면 을 클릭한다. 그러면 다음과 같이 바뀐다. 글꼴 설정하는 방법 메모장의 기본 글꼴이 불편할 수 있다. 예를 들어 코드 ...

윈도우 11 / PowerShell / PowerShell 7 설치하는 방법

윈도우 11 / PowerShell / PowerShell 7 설치하는 방법

윈도우 11에 Windows 터미널이라는 것이 생겼다. 시작 메뉴에도 있고, 파일 탐색기에서 마우스 우클릭해도 있다. 내가 원하는 위치에서 터미널을 쉽게 열 수 있다는 게 장점. 기본 터미널로 PowerShell이 설정되어 있는데, 언제부턴가 최신 PowerShell을 설치해보라는 메시지가 뜬다. 특별히 불편한 점은 없지만, 그 메시지가 보기 싫어서 업그레이드를 해보았다.(정확히는 업그레이드가 아니라 새로운 PowerShell을 설치하는 것.) URL을 ...