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 / 파일 탐색기 / 파일 탐색기 실행하는 네 가지 방법

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

윈도우 11 / 표준 사용자와 관리자 계정 비교

윈도우 11 / 표준 사용자와 관리자 계정 비교

윈도우 11을 사용하다 보면 계정을 만들 때 표준 사용자(Standard User)와 관리자 계정(Administrator) 중 하나를 선택할 수 있습니다. 겉보기에는 큰 차이가 없어 보이지만, 실제로는 시스템을 다루는 권한에서 큰 차이가 있습니다.

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

윈도우 10 / 메일 / 네이버 메일 추가하는 방법

네이버는 PC에서 사용하는 전용 메일 프로그램이 없습니다. 하지만 IMAP을 지원하므로 아웃룩 등 메일 클라이언트 프로그램으로 메일을 주고 받을 수 있습니다. 윈도우 10에 있는 메일 앱에 네이버 계정을 추가하는 방법을 알아보겠습니다. 네이버 메일 설정 네이버 메일의 으로 설정합니다. 메일 앱에 네이버 계정 추가 윈도우 10에서 메일 앱을 엽니다. 찾기 ...

윈도우 10 / 빠른 지원 / 다른 컴퓨터에 원격으로 접속하여 지원하는 방법

윈도우 10 / 빠른 지원 / 다른 컴퓨터에 원격으로 접속하여 지원하는 방법

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

윈도우 10 / 자동 업데이트 끄는 방법

윈도우 10 / 자동 업데이트 끄는 방법

윈도우 10을 설치한 후 별도의 설정을 하지 않았다면 업데이트를 자동으로 합니다. 업데이트를 한 후에 사용자가 컴퓨터를 사용하지 않으면 스스로 재부팅을 하기도 하죠. 잠시 자리를 비웠는데 컴퓨터가 재부팅을 하고 한참동안 업데이트를 설치하는 일이 발생할 수 있습니다. 급하게 작업할 게 있다면 아주 당황스런 상황이 되는 거죠. 중요한 업데이트를 자동으로 하는 것이 좋기는 하지만, ...

윈도우 10 / 명령 프롬프트(CMD) 글꼴 변경하는 방법

윈도우 10 / 명령 프롬프트(CMD) 글꼴 변경하는 방법

윈도우 10 명령 프롬프트(CMD)의 기본 글꼴은 굴림체입니다. 고정폭이기는 하나 예쁜 글꼴은 아닙니다. 만약 글꼴을 변경하고 싶다면 다음과 같이 합니다. 명령 프롬프트 왼쪽 위에 있는 아이콘을 클릭합니다. 을 클릭합니다. 을 클릭합니다. 이제 명령 프롬프트를 닫고 다시 열면 변경된 글꼴로 나오는 것을 확인할 수 있습니다. 속성에서도 글꼴을 변경할 수 있는데, ...

윈도우 11 / 파일 탐색기 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

윈도우 11 / 파일 탐색기 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

네트워크 드라이브란 네트워크 상에 연결된 저장 공간을 마치 내 PC에 있는 드라이브처럼 사용하는 기능입니다. 내 PC의 문서나 C 드라이브처럼 보이지만, 실제로는 회사 서버나 다른 컴퓨터, NAS(Network Attached Storage)에 저장되어 있는 공간입니다. 윈도우 11에서 네트워크 드라이브를 연결하는 방법과 연결된 네트워크 드라이브의 연결을 끊는 방법을 알려드립니다.

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

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

윈도우 10 / 공유 폴더 만드는 방법

윈도우 10 / 공유 폴더 만드는 방법

공유 폴더 만드는 방법 공유할 폴더를 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 을 클릭합니다. 를 클릭합니다. 현재 로그인한 사용자가 소유자로, 공유 폴더에 접근 가능합니다. 다른 사용자를 추가하고 싶다면 선택 목록을 클릭합니다. 사용자를 선택하고, 추가한 다음... 역삼각형 아이콘을 클릭하여... 권한을 적절히 선택합니다. 를 클릭합니다. 적절히 선택합니다. 를 클릭해도 됩니다. 공유 설정이 완료되었습니다. 공유 폴더에 접근하는 방법 같은 네트워크 안에 있는 다른 PC에서 파일 ...

윈도우 11 / 네트워크 초기화하는 방법

윈도우 11 / 네트워크 초기화하는 방법

윈도우 11에서 네트워크 초기화(Network Reset)는 인터넷 연결 문제를 해결할 때 매우 효과적인 방법입니다. 네트워크 초기화는 다음 설정을 모두 초기 상태로 되돌립니다.