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 작업 표시줄에 마우스를 올리고 우클릭합니다. 을 클릭합니다. 로 설정합니다. 윈도우 10 작업 표시줄에 마우스를 올리고 ...

윈도우 11 / 바탕화면 배경 변경하는 방법

윈도우 11 / 바탕화면 배경 변경하는 방법

윈도우 11에서 배경화면 변경하는 방법은 다음과 같다. 바탕화면에서 마우스 우클릭하고 을 클릭하거나... 을 클릭한다.(윈도우 11 / 설정을 여는 세 가지 방법) 을 클릭하고... 사진, 단색, 슬라이드 쇼, Windows 추천에서 선택한다. 모니터와 다른 해상도의 사진이라면 어떻게 조정할지를 정한다.

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11에서 프로그램을 제거하는 방법 세 가지를 소개한다. 방법 1이 제일 편하고, 방법 1 또는 방법 2로 제거되지 않을 때 방법 3으로 해결되는 경우가 간혹 있다. 방법 1 또는 방법 2에 나오는 프로그램 목록과 방법 3에 나오는 프로그램 목록이 다르다. 방법 1 시작 메뉴에서 프로그램 아이콘에 마우스를 올리고 우클릭한다. 를 클릭한다. 방법 2 윈도우 설정을 연다. 단축키는 ...

윈도우 11 / 소리 없애는 방법

윈도우 11 / 소리 없애는 방법

윈도우 11을 시작할 때, 경고가 뜰 때, 메일이 왔을 때, 노트북 배터리가 부족할 때 등 여러 상황에서 소리가 난다. 내 방이면 상관없지만, 사무실이나 도서관 등이라면 소리가 나지 않게 해야 한다. 그렇다고 아예 무음으로 하면 불편할 수 있다. 그런 경우 특정 이벤트 발생 시 나는 소리만 없앨 수 있다. 오른쪽 아래에 있는 ...

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우에서 파일을 삭제하면 휴지통으로 이동한다. 표현은 삭제지만 다른 폴더로 이동하는 것과 다를 바 없다. 휴지통에 있는 파일은 온전한 것이므로 복원이 가능하고, 휴지통에서 삭제해야 완전히 삭제된다. 휴지통 비우기를 해도 해당 파일이 존재했던 부분에 다른 파일을 쓰지 않았다면, recuva 같은 삭제 파일 복구 프로그램으로 복구를 할 수 있다. 휴지통은 최대 한도가 있는데, 그 한도는 ...

윈도우 11 / 파일 탐색기 / 즐겨찾기 관리, 최근 항목 지우기

윈도우 11 / 파일 탐색기 / 즐겨찾기 관리, 최근 항목 지우기

파일 탐색기 왼쪽 위에 즐겨찾기가 있습니다. 몇 개의 폴더가 기본적으로 고정되어 있고, 자주 사용하는 폴더가 자동으로 추가되기도 합니다. 즐겨찾기에 수동으로 폴더를 추가하고 제거하는 방법, 그리고 최근에 사용할 파일 목록을 없애는 방법을 알아보겠습니다.

윈도우 10 / BitLocker로 드라이브 암호화하는 방법

윈도우 10 / BitLocker로 드라이브 암호화하는 방법

컴퓨터를 사용하다보면 중요한 정보가 있는, 나만 봐야 하는 파일들이 생깁니다. 남들이 못보게 하는 방법은 여러 가지가 있는데, 그 중 하나가 BitLocker입니다. 드라이브 전체를 암호화하고, 비밀번호를 알아야만 접근할 수 있게 해주는 기능입니다. 특히 노트북을 사용한다면 중요 파일들을 한 드라이브에 모아서 BitLocker로 잠그는 것이 좋습니다. 노트북을 분실해도 암호를 모르면 파일에 접근할 수 없으니까요. BitLocker로 ...

윈도우 10 / 날씨 앱 / 내 위치 설정하기

윈도우 10 / 날씨 앱 / 내 위치 설정하기

윈도우 10에는 날씨 앱이 있습니다. 특정 지역의 날씨를 알려주는 앱입니다. 그런데 그 지역이 내가 있는 지역과 맞지 않을 수 있습니다. 보통 서울로 설정되어 있는 거 같습니다. GPS가 없는 데스크톱이라면 지역을 수동으로 설정해서 사용합니다. 날씨 앱을 엽니다. 현재 위치를 검색한 후 을 클릭합니다. 이제 내 위치에 딱 맞는 날씨를 볼 수 있습니다.

윈도우 / 서비스 / SysMain

윈도우 운영체제에서 SysMain 서비스는 이전 버전의 운영체제에서 SuperFetch로 알려진 서비스의 새로운 이름입니다. 이 서비스는 시스템 성능을 최적화하고, 응용 프로그램의 로딩 시간을 단축하며, 전반적인 시스템 응답성을 향상시키는 역할을 합니다. SysMain 서비스의 주요 역할 응용 프로그램 로딩 시간 단축 SysMain 서비스는 사용자가 자주 사용하는 응용 프로그램과 데이터를 미리 메모리에 로드합니다. 이를 통해 사용자가 프로그램을 실행할 ...

윈도우 11 / 원격 데스크톱 / 연결 허용하는 방법

윈도우 11 / 원격 데스크톱 / 연결 허용하는 방법

원격으로 다른 컴퓨터에 들어가는 방법은 여러 가지가 있습니다. 그 중 가장 간단히 사용할 수 있는 것은 윈도우에 포함된 원격 데스크톱입이다. 별도의 소프트웨어를 설치할 필요 없이 활성화만 시켜주면 됩니다.(단, Windows Home 에디션에는 이 기능이 없으므로, Pro 이상의 에디션을 구입하거나 다른 방법을 찾아야 합니다.) 원격 데스크톱으로 연결되는 것을 허용하는 것은 입니다.) 왼쪽에서 ...