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 / 원격 데스크톱 / 포트 변경하는 방법

윈도우 11 / 원격 데스크톱 / 포트 변경하는 방법

기본적으로 윈도우 원격 데스크톱(Remote Desktop, RDP)은 3389 포트를 사용합니다. 보안을 위해 다른 포트로 변경하면 무차별 대입 공격(Brute Force)이나 자동 스캔 공격을 줄이는 데 도움이 됩니다. 현재 설정된 원격 데스크톱 포트는 에서 확인할 수 있습니다. 원격 테스크톱 포트를 변경하려면 레지스트리와 방화벽 설정을 수정해야 합니다. 실행을 엽니다.(단축키는 WIN+R입니다.) regedit을 입력하고 엔터키를 ...

윈도우 10 / 제어판을 여는 세 가지 방법, 바탕화면에 추가하는 방법

윈도우 10 / 제어판을 여는 세 가지 방법, 바탕화면에 추가하는 방법

윈도우 10에서 설정은 대부분 Windows 설정에서 합니다. 하지만 사용자 계정 컨트롤 같은 일부 설정은 제어판에서 가능합니다. 제어판을 여는 방법과 바탕화면에 추가하는 방법을 알려드립니다.

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

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

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

윈도우 10 / 파일 암호화하는 방법

윈도우 10 / 파일 암호화하는 방법

나만 봐야 하는 중요한 파일이 있다면 파일을 암호화하는 것이 좋습니다. 파일을 암호화하는 방법은 여러 가지가 있으나, 윈도우 10이라면 내장된 기능으로 암호화할 수 있습니다. 만약 파일 또는 폴더가 아니라 드라이브 전체는 보호하고 싶다면 BitLocker를 사용하세요. Windows 10 Pro 이상에서 사용할 수 있습니다. 파일 암호화 하기 암호화하려는 파일을 선택하고 마우스 우클릭합니다. 을 클릭합니다. 을 클릭하고... [데이터 보호를 위해 ...

윈도우 11 / 작업 표시줄 / 위젯 없애는 방법

윈도우 11 / 작업 표시줄 / 위젯 없애는 방법

윈도우 11에서 작업 표시줄의 위젯을 없애는 방법은 다음과 같습니다: 작업 표시줄을 마우스 오른쪽 버튼으로 클릭합니다. 나타나는 메뉴에서 작업 표시줄 설정을 클릭합니다. 작업 표시줄 항목 섹션에서 위젯 옵션을 찾아 스위치를 꺼짐으로 설정합니다. 이 단계를 따르면 작업 표시줄에서 위젯 아이콘이 사라지게 됩니다.

윈도우 11 / 시스템 요구 사항

윈도우 11을 설치하려면 시스템 요구 사항을 만족해야 합니다. 만족하지 못하면 설치 자체를 할 수 없습니다. 그러한 컴퓨터라면 윈도우 10을 설치해야 합니다. 그런데 윈도우 10도 곧 EOS됩니다. 윈도우 10의 지원 종료(EOS)는 2025년 10월 14일로 예정되어 있습니다. 이 날짜 이후로 Microsoft는 윈도우 10에 대한 보안 업데이트나 기술 지원을 제공하지 않게 됩니다. 현재 사용 중인 ...

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

윈도우 11 / 디스크 관리 / 디스크 추가하는 방법, 볼륨 만드는 방법, 볼륨 변경하는 방법

PC에 저장 공간이 부족하면 디스크를 추가한다. 외장 하드를 이용하는 방법도 있지만, 메인보드에 디스크를 붙이는 것이 좀 더 안정적이고 속도가 빠르다. 요즘 출시된 노트북은 디스크를 추가할 수 있는 여유 공간이 제공되는 것이 많아, 가벼운 SSD를 추가하면 저장 공간이 작다는 노트북의 단점이 사라진다. 디스크를 추가하면 몇 가지 작업이 필요한데, 윈도우 11에서 어떻게 하는지 ...

윈도우 11 / 로컬 사용자 계정 / 추가하는 방법, 삭제하는 방법

윈도우 11 / 로컬 사용자 계정 / 추가하는 방법, 삭제하는 방법

Windows 11의 로컬 사용자 계정이란, 해당 컴퓨터에서만 사용 가능한 사용자 계정을 의미합니다. 이 계정은 Microsoft 계정과 연결되지 않으며, 로컬 사용자로 로그인하면 해당 컴퓨터에만 적용되는 설정 및 데이터를 사용할 수 있습니다. 윈도우 11에서 로컬 사용자 계정을 추가하는 방법, 삭제하는 방법은 다음과 같습니다. 표준 사용자와 관리자 권한 차이 로컬 사용자는 표준 사용자와 관리자로 구분됩니다. 로컬 ...

윈도우 11 / 작업 표시줄 / 그룹화 해제하는 방법

윈도우 11 / 작업 표시줄 / 그룹화 해제하는 방법

윈도우 11은 윈도우 10과는 다르게 작업 표시줄 그룹화를 해제하는 옵션이 없었다. 그래서 ExplorerPatcher라는 별도의 프로그램을 이용해서 구현을 하곤 했는데... 2023년 11월 업데이트 미리 보기에 그 기능이 추가되었다. 미리 보기여서 자동으로 업데이트가 되지는 않고, 직접 설치를 해야 한다. Windows 업데이트에서 바로 보일 수도 있고, 아래처럼 선택적 업데이트에 있을 수도 있다. 이 업데이트를 설치하고 ...

윈도우 10 / 모니터 주사율(새로 고침 빈도) 설정하는 방법

윈도우 10 / 모니터 주사율(새로 고침 빈도) 설정하는 방법

모니터는 별도의 설정 없이 연결만 하면 사용할 수 있는 기기 중의 하나입니다. 그런데 간혹 설정이 맞지 않아 제대로 작동하지 않는 경우가 있습니다. 대표적인 것이 주사율입니다.(Windows에서는 새로 고침 빈도라고 표현하고 있습니다.) 그래픽 카드를 교체하거나, 새 모니터를 연결했을 때 주사율이 엉뚱하게 설정된다면 윈도우 설정에서 제대로 잡아줍니다. 설정하는 방법은... Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 ...