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 / 원격 데스크톱 / 연결 허용하는 방법, 연결하는 방법

내 PC를 원격에서 접속하여 제어하는 가장 간단한 방법은 원격 데스크톱을 이용하는 것이다. 접속을 받는 PC에서는 원격 데스크톱 연결을 허용해주고, 접속을 하는 PC에서는 원격 데스크톱 연결 앱으로 접속한다. 접속은 받는 PC는 Windows Pro 이상의 에디션이어야 한다. 즉, Windows Home은 지원하지 않는다. 원격 데스크톱 연결 허용하는 방법 접속을 받는 PC에서 Windows 설정을 연다. 단축키는 WIN+I이다. 을 클릭합니다. 왼쪽에서 ...

윈도우 / 명령어 / SC - 서비스를 관리하는 명령어

윈도우 운영체제에서는 다양한 시스템 서비스가 백그라운드에서 실행되며, 이러한 서비스는 시스템의 성능과 안정성을 유지하는 데 중요한 역할을 합니다. SC(Service Controller) 명령어는 이러한 서비스를 관리하는 강력한 도구로, 서비스를 시작, 중지, 설정 변경, 삭제 등 다양한 작업을 수행할 수 있습니다. SC를 사용할 때 일부 명령은 관리자 권한을 필요로 합니다. 따라서 관리자 권한으로 명령 프롬프트(CMD)를 ...

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

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

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

윈도우 10 / PING 허용하는 방법

윈도우 10 / PING 허용하는 방법

네트워크에 잘 연결되어 있는지 확인하는 방법 중의 하나는 ping을 날리는 것입니다. 그런데 윈도우 10은 기본적으로 ping에 대하여 응답하지 않는 것으로 설정되어 있습니다. 그래서 네트워크에 잘 연결되어 있어도 ping으로 확인을 할 수가 없습니다. 만약 ping으로 연결 상태를 확인해야 한다면, 다음의 방법으로 응답하도록 설정합니다. 제어판을 엽니다. 을 클릭합니다. 을 클릭합니다. 을 클릭합니다. 왼쪽에서 ...

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

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

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

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

윈도우 10 / 가상 데스크톱 단축키와 타임라인 해제하는 방법

윈도우 10 / 가상 데스크톱 단축키와 타임라인 해제하는 방법

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

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

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

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

윈도우 11 / 업데이트하는 방법

윈도우 11 / 업데이트하는 방법

윈도우 업데이트는 PC의 보안, 안정성, 성능을 유지하기 위해 꼭 필요합니다. Microsoft는 정기적으로 보안 취약점을 수정하는 패치를 배포하며, 이를 설치하지 않으면 해킹, 악성코드 감염, 개인정보 유출 등의 위험이 커질 수 있습니다. 또한 업데이트를 통해 프로그램 오류, 블루스크린, 시스템 멈춤 현상 등 다양한 버그가 수정되어 안정적인 사용 환경을 제공받을 수 있습니다. 성능 개선도 ...

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11 / 작업 관리자 실행하는 여러 가지 방법

윈도우 11에서 작업 관리자를 여는 방법은 여러 가지가 있으며, 각각의 방법은 사용자의 필요와 상황에 따라 다르게 적용될 수 있습니다. 작업 관리자는 시스템 성능을 모니터링하고, 실행 중인 프로세스를 관리하며, 필요할 때 응답하지 않는 프로그램을 강제로 종료할 수 있는 유용한 도구입니다.