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 / 자동 로그인하는 방법

윈도우 10 / 자동 로그인하는 방법

컴퓨터를 사용하려면 사용자 계정이 필요하고, 보통 암호를 설정한다. 그런데 정말 나 혼자만 사용하는 컴퓨터라면 암호를 입력하고 로그인하는 과정이 불편할 수 있다. 컴퓨터를 켤 때 암호를 입력하지 않고 바로 로그인하도록 할 수 있을까? 방법은 두 가지가 있다. 아래의 스크린샷은 윈도우 10 기준이지만, 윈도우 11에서도 동일한 방법으로 가능하다. 방법 1 - 암호 제거하기 사용자 계정이 ...

윈도우 10 / 마이크로소프트 계정으로 윈도우에 로그인하는 방법

윈도우 10 / 마이크로소프트 계정으로 윈도우에 로그인하는 방법

윈도우 10에 로그인하는 방법은 두 가지가 있습니다. 하나는 로컬 계정으로 로그인하는 것이고, 다른 하나는 마이크로소프트 계정으로 로그인하는 것입니다. 마이크로소프트 계정으로 로그인하는 것은, 안드로이드 스마트폰에 구글 계정으로 로그인하는 거 또는 아이패드에 애플 계정으로 로그인하는 것과 비슷하다고 보면 됩니다. 윈도우에 마이크로소프트 계정으로 로그인하는 것은 여러 가지 장점이 있겠지만, 내 PC의 정보를 마이크로소프트와 공유한다는 ...

윈도우 / 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다

윈도우 / 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다

집에서 사무실 컴퓨터에 원격 데스크톱으로 접속하여 작업할 때가 있다. 오랫동안 잘 사용했는데, 최근 들어 아래와 같은 메시지가 나오면서 연결이 되지 않을 때가 있다. 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다. 잠시 기다렸다가 다시 시도하거나 시스템 관리자나 기술 지원 서비스에 문의하십시오. 로그온 실패가 많아서 계정을 잠가버린 ...

윈도우 / 작업 표시줄 / 검색 없애는 방법

윈도우 / 작업 표시줄 / 검색 없애는 방법

윈도우에서 검색을 여는 단축키는 입니다. 이 단축키를 외우고 나면 작업 표시줄에 있는 검색 상자 또는 검색 아이콘이 필요가 없습니다. 여러 프로그램을 동시에 사용한다면 오히려 검색이 차지하는 공간이 불편할 수 있습니다. 작업 표시줄에서 검색을 숨기는 방법은 다음과 같습니다. 윈도우 11 작업 표시줄에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 로 설정합니다. 윈도우 10 작업 표시줄에 마우스를 올리고 ...

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

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

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

윈도우 11 / Clipchamp / 사진으로 동영상 만들기

윈도우 11 / Clipchamp / 사진으로 동영상 만들기

윈도우 11부터 Clipchamp라는 동영상 편집 프로그램이 탑재되었다. 이를 이용하여 사진으로 동영상을 만드는 방법을 알아본다. 윈도우 11에 포함된 사진 앱으로도 사진을 동영상으로 만들 수 있다. 사진 간 전환 효과는 줄 수 없으나, 사진이 이동하거나 확대/축소되는 효과를 줄 수 있다. 윈도우 11 / 사진 / 사진을 동영상으로 만드는 방법 Clipchamp 실행하기 Clipchamp를 클릭한다. 만약 없다면 Microsoft ...

윈도우 11 / PowerToys / 사용법 / Always On

윈도우 11 / PowerToys / 사용법 / Always On

PowerToys의 Always On은 선택한 창이 항상 위에 있게 한다. 단축키는 이다. 창을 선택한 후 를 누르면 파란색 테두리가 생기면서 항상 다른 창보다 위에 있게 된다. 다시 한 번 를 누르면 해제된다.

윈도우 11 / 설정을 여는 세 가지 방법

윈도우 11 / 설정을 여는 세 가지 방법

윈도우에서 작업을 하다 보면 설정을 변경해야 할 때가 있다. 설정을 여는 세 가지 방법을 소개한다. 어떤 설정은 제어판에서 작업하는 게 편하다.  윈도우 11 / 제어판 여는 방법, 바탕화면에 추가하는 방법 방법 1 시작 버튼을 클릭한다. 을 클릭한다. 만약 시작 메뉴에 없다면, 모든 앱에서 찾을 수 있다. 시작 화면에 고정 또는 작업 표시줄에 고정을 할 수 있다. 방법 2 시작 ...

윈도우 10 / 마우스 / 왼손잡이 설정하는 방법

윈도우 10 / 마우스 / 왼손잡이 설정하는 방법

일반적으로 마우스에는 단추가 두 개 있습니다. 왼쪽 버튼을 누르면 선택을 하거나 끌기를 할 수 있고, 오른쪽 버튼을 누르면 팝업 메뉴가 나옵니다. 오른손 잡이에게는 이 설정이 편한데, 왼손 잡이에게는 불편할 수 있습니다. 만약 마우스를 왼손으로 사용한다면 좌우 버튼의 기능을 바꾸어서 사용하면 됩니다. 윈도우 설정에서 변경 가능합니다. Windows 설정을 엽니다. 단축키는 [WIN + ...