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 / 작업 표시줄에서 코타나(Cortana) 제거하는 방법

윈도우 10 / 작업 표시줄에서 코타나(Cortana) 제거하는 방법

윈도우 10을 설치하면 작업 표시줄에 동그란 아이콘이 있습니다. 클릭하면 아래처럼 '해당 지역에서는 Cortana를 사용할 수 없습니다.'라고 나옵니다. 코타나는 마이크로소프트가 만든 음성인식 비서라고 합니다. 위키백과에서는 다음처럼 설명하고 있습니다. 마이크로소프트 코타나(영어: Microsoft Cortana)는 마이크로소프트가 윈도우 폰 8.1, 마이크로소프트 밴드, 윈도우 10 용으로 제작한 인공지능 소프트웨어이다. 영어, 스페인어, 중국어 등 일부 언어를 지원하는데, 아직 한국어는 지원하지 않는다고 ...

윈도우 10 / 터치 키보드(가상 키보드, 화면 키보드) 사용하는 방법

윈도우 10 / 터치 키보드(가상 키보드, 화면 키보드) 사용하는 방법

갑자기 키보드가 망가졌습니다. 그런데 급하게 메일을 보내야합니다. 그렇다면 터치 키보드를 사용하세요. 원래는 터치가 되는 모니터를 위한 기능인데, 마우스로도 가능합니다. 작업 표시줄에 마우스를 올리고 우클릭합니다. 를 클릭합니다. 글자를 입력해야하는 프로그램을 실행하고, 오른쪽 아래에 있는 키보드 아이콘을 클릭하면... 화면에 키보드가 만들어집니다. 이제 마우스로 자판을 클릭해서 글자를 입력할 수 있습니다. 키보드 설정 아이콘을 클릭해서... 키보드 모양을 ...

윈도우 11 / CPU 온도 측정하는 방법

윈도우 11 / CPU 온도 측정하는 방법

CPU 온도는 컴퓨터 성능과 안정성에 중요한 영향을 미칩니다. 과열된 CPU는 시스템 성능 저하, 불안정한 작동, 심지어는 하드웨어 손상까지 초래할 수 있습니다. 윈도우 11에서 CPU 온도를 측정하는 여러 방법을 통해 시스템 상태를 모니터링하고 적절한 조치를 취할 수 있습니다. BIOS/UEFI를 통해 CPU 온도 측정 BIOS 또는 UEFI는 컴퓨터가 부팅될 때 실행되는 기본 시스템 소프트웨어로, ...

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

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

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

윈도우 11 / 더 작은 작업 표시줄 단추

윈도우 11 / 더 작은 작업 표시줄 단추

윈도우 11의 작업 표시줄 단추를 작게 만드는 설정이 추가되었습니다. 설정의 에서 설정할 수 있습니다. 항상, 작업 표시줄이 꽉 찼을 때, 안 함 중에서 선택하시면 됩니다.

윈도우 10 / 비밀번호 변경하는 방법, 자동 로그인 하는 방법

윈도우 10 / 비밀번호 변경하는 방법, 자동 로그인 하는 방법

비밀번호 변경하는 방법 여럿이 같이 사용하는 PC라면 비밀번호를 주기적으로 변경하는 것이 좋습니다. 귀찮기는 하지만, 어디서 변경하는지만 알면 금방 끝낼 수 있습니다. Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 를 클릭합니다. 을 클릭합니다. 현재 암호를 입력하고 을 클릭합니다. 새로운 암호와 암호 힌트를 입력합니다. 암호 힌트는 필수 항목이어서 입력하지 않으면 다음 단계로 가지 못합니다. 입력을 ...

윈도우 11 / PowerToys / 사용법 / FancyZones

윈도우 11 / PowerToys / 사용법 / FancyZones

PowerToys의 FancyZones는 창을 배치를 도와주는 앱이다. 이다. 미리 정의된 레이아웃을 사용해도 되고, 새로 만들 수도 있다. 그리드 또는 캔버스 형식으로 만들 수 있고... 키보드와 마우스로 원하는 배치를 만들고 을 클릭한다. 레이아웃을 선택하면... 영역이 표시되고... Shift 키를 누른 채 창을 이동하면 그 영역에 배치된다. 더욱 자세한 사용법은 https://docs.microsoft.com/ko-kr/windows/powertoys/fancyzones에서 볼 수 있다.

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10 / 메일 / 지메일(Gmail) 추가하는 방법

윈도우 10의 메일 앱에 지메일을 추가하는 방법입니다. 예전에 여러 가지 설정이 필요했었는데, 지금은 간단히 추가할 수 있습니다. 메일 앱을 실행합니다. 메일 앱을 처음 사용하는 거라면 다음과 같이 계정을 추가하라는 창이 나옵니다. 를 클릭합니다. 계정을 처음 추가하는 게 아니라면, 설정에서 추가할 수 있습니다. 구글 계정을 입력합니다. abc@gmail.com으로 입력해도 되고 abc만 입력해도 됩니다. 을 클릭합니다. 비밀번호를 입력하고 을 클릭합니다. 권한이 ...

윈도우 11 / 시작 / 최근 연 파일 삭제하는 방법

윈도우 11 / 시작 / 최근 연 파일 삭제하는 방법

윈도우 11의 시작 버튼을 클릭하면, 아래 쪽에 최근 사용한 파일 목록 등 여러 가지가 나옵니다. 최근 작업한 파일에 빠르게 접근할 수 있도록 하는 기능인데, 남에게 내가 무엇을 했는지 들킬 위험이 있습니다. 만약 기밀이 필요한 작업, 지극히 개인적인 작업을 자주 한다면 최근 파일이 나오지 않는 게 좋습니다. 이는 설정에서 변경할 수 있습니다. 을 ...

윈도우 / 명령어 / diskpart / 디스크 초기화하고 MBR 또는 GPT로 변경하는 방법

윈도우 / 명령어 / diskpart / 디스크 초기화하고 MBR 또는 GPT로 변경하는 방법

MBR과 GPT 하드디스크 파티션 스타일에는 MBR(마스터 부트 레코드)과 GPT(GUID 파티션 테이블)가 있다. MBR 스타일은 호환성이 좋으나 디스크를 2TB까지만 사용할 수 있다. 따라서 3TB 디스크를 MBR 스타일로 초기화하면 1TB는 사용할 수 없게 된다. GPT 스타일은 용량이 큰 디스크를 사용할 수 있지만, 구형 메인보드에서는 부팅 디스크로 사용할 수 없다. MBR을 GPT로, GPT를 MBR로 변경하기 위해서는 diskpart ...